入门使用
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:SS
- YEAR : 用4位数字表示,范围是 1901~2155年