数据类型:
1.数字 (TINY,SMALL,MEIDIUM,BIG)INT FLOAT DOUBLE DECIMAL
2.字符串 (TINY,MEDIUM,LONG)(BLOG,TEXT) CHAR VARCHAR
3.时间 DATE TIME YEAR DATETIME TIMESTAMP
DDL definition
1.对数据库
create database [if not exists] 数据库名 [default charset 字符集] [collate 排序规则];
drop database [ if exists ] 数据库名 ;
use 数据库名 ;
2.对表
查看建表语句:show create table 表名 ;
创建表:
CREATE TABLE 表名(
字段1 字段1类型 [ COMMENT 字段1注释 ],
字段2 字段2类型 [COMMENT 字段2注释 ],
字段3 字段3类型 [COMMENT 字段3注释 ],
字段n 字段n类型 [COMMENT 字段n注释 ]
) [ COMMENT 表注释 ] ;
添加字段: ALTER TABLE 表名 ADD 字段名 类型 (长度) [ COMMENT 1 注释 ] [ 约束 ];
删除表与重建表:DROP TABLE [ IF EXISTS ] 表名; TRUNCATE TABLE 表名;
3.对表中字段的‘约束’
非空约束 唯一约束 主键约束 默认约束 检查约束 外键约束
在建表时添加:
CREATE TABLE tb_user(
id int AUTO_INCREMENT PRIMARY KEY COMMENT ‘ID唯一标识’,
name varchar(10) NOT NULL UNIQUE COMMENT ‘姓名’ ,
age int check (age > 0 && age <= 120) COMMENT ‘年龄’ ,
status char(1) default ‘1’ COMMENT ‘状态’,
gender char(1) COMMENT ‘性别’,
[CONSTRAINT] [外键名称] FOREIGN KEY (外键字段名) REFERENCES 主表 (主表列名)
);
有关外键约束:
三种外键类型:RESTRICT CASCADE SET NULL
ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段名) REFERENCES 主表 (主表列名) ;
ALTER TABLE 表名 DROP FOREIGN 1 KEY 外键名称;
DCL control
1.操作用户
CREATE USER ‘用户名’@’主机名’ IDENTIFIED BY ‘密码’;
ALTER USER ‘用户名’@’主机名’ IDENTIFIED WITH mysql_native_password BY ‘新密码’ ;
DROP USER ‘用户名’@’主机名’ ;
2.操作用户权限
GRANT 权限列表 ON 数据库名.表名 TO ‘用户名’@’主机名’;
REVOKE 权限列表 ON 数据库名.表名 FROM ‘用户名’@’主机名’;
DML manipulation
1.增加数据
INSERT INTO 表名 (字段名1, 字段名2, …) VALUES (值1, 值2, …), (值1, 值2, …), (值1, 值2, …) ;
INSERT INTO 表名 VALUES (值1, 值2, …), (值1, 值2, …), (值1, 值2, …) ;
2.修改数据
UPDATE 表名 SET 字段名1 = 值1 , 字段名2 = 值2 , .... 1 [ WHERE 条件 ] ;
3.删除数据
DELETE FROM 表名 [ WHERE 条件 ] ;