MySql 学习(一)

入门使用

  1 show databases;
  2 
  3 //假设存在seckill 数据库
  4 use seckill;
  5 
  6 //查看所有表
  7 show tables;
  8 
  9 //查看某个表的字段,例如存在 student 表
 10 desc  student;
 11 
 12 //查看student 数据
 13 selet * from student
 14 
 15 //接下来就可以对这个数据库(seckill)作各种操作了,select 啊,update ...%&*$^$^ 巴拉巴拉的

创建表格

  1 //指定主键
  2 create table permission (
  3 	permission_id int(11) NOT NULL AUTO_INCREMENT,
  4 	available int NOT NULL,
  5 	description char(20) NULL,
  6 	permission int(20) NOT NULL,
  7 	url char(20) NOT NULL,
  8 	PRIMARY KEY(permission_id)
  9 )ENGINE = InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
  1 //指定外键
  2 create table role_permission (
  3 	role_id int(11) not null ,
  4 	permission_id int(11) not null ,
  5 	foreign key(permission_id) references permission(permission_id),
  6 	foreign key(role_id) references sys_role(role_id)
  7 )ENGINE = InnoDB DEFAULT CHARSET=utf8 ;
  8 

数据结构

(1)串数据类型(如名字,地址,电话号码,邮政编码等)

          分为定长串和变长串,CHAR : 定长, TEXT : 变长 ,MySQL处理定长数据快于处理变长数据,此外,MySQL不允许对变长列(或一个列的可变部分)进行索引,这也会极大地影响性能。

  • CHAR: 1~255 个字符的定长字符串,未指定为CHAR(1)
  • VARCHAR : 变长字符串,最多不超过255字节
  • TEXT : 最大长度为 64字节的变长文本
  • TINGTEXT : 与TEXT相同,最大长度为255字节

  (2)数字数据类型

            所有数据类型都有有符号和无符号之分(除BIT 和 BOOLEAN), 默认为有符号(即是可以表示负数),若是不想表示负数,可以使用UNSIGNED关键字。

  • BIT : 1~64 位,位字段
  • BOOLEAN : 布尔值
  • DECIMAL : 精度可变的浮点值
  • DOUBLE
  • FLOAT
  • INT
  • REAL
  • SMALLINT
  • TINYINT
  • MEDIUMINT

(3)时间和日期数据类型

  • DATE :  格式为 YYYY-MM-DD ,例如:2018-08-06
  • DATETIME :
  • TIMESTAMP
  • TIME :格式为HH:MM:SSConfused smile
  • YEAR : 用4位数字表示,范围是 1901~2155年
posted @ 2018-09-12 22:06  float123  阅读(276)  评论(0编辑  收藏  举报