结构化/半结构化/非结构化数据
数据类型
int(m)m为显示长度 double(m,d) m为总长度 d为小数 char定长 varchar不定 图片 影音
数据库 & 表
创建&删除 数据库 CREATE & DROP
CREATE DATABASE test DEFAULT CHARACTER SET utf8; DROP DATABASE test; USE test2;创建数据库 test 默认字符集
删除
切换库
创建&删除 表 CREATE & DROP
CREATE TABLE x ( x1 int comment '姓名' , x2 varchar(5) comment'注释2' ) comment '用户表 表注释' ; DROP TABLE x ; SHOW table ;修改 ALTER
ALTER TABLE x1 RENAME X2 ; ALTER TABLE x1 MODIFY l1 int ; ALTER TABLE x1 CHANGE COLUMN l1 l2 int ; ALTER TABLE x1 ADD COLUMN l3 int ; ALTER TABLE x1 DROP COLUMN l3 ;rename 改表名
modify 改列类型
change column 改列名( l1 变 l2+类型)
add /drop column 增加/删除 新列 ( l3 +类型 )
约束 (数据校验)
ALTER TABLE x1 ADD PRIMARY KEY( l1 ) ; 【添加主键】 ALTER TABLE x1 MODIFY l1 int auto_increment ; 【自增 (自己加序号)】 ALTER TABLE x1 MODIFY l1 int ; ALTER TABLE x1 DROP PRIMARY KEY ; 【要先去自增 才能删除主键】primary key 【主键】
auto_increment 【自增】 一个表中只有一列自增 且其类型必须为int 且只能加在主键/唯一约束上
操作数据
INSERT / UPDATE / DELETE
查询数据
FROM / WHERE / SELECT / ORDER BY (执行顺序)
表名 行名 列名 要排序的
SELECT l1 ,l2 FROM x1 WHERE l1=100 ORDER BY l2 ;列去重 */DISTINCT
SELECT * / DISTINCT l1 FROM x1;查询 *all / distinct不重复 列名 表名
列/表的别名 AS/空格
SELECT l1 AS L1 FROM x1 ; SELECT X1.l1 L1 FROM x1 X1;l1 又名 L1
* /+ -
SELECT l1 , l2 , l1+l2 FROM x1;生成一列与 已知列有算数关系的新列
NULL 空
行 WHERE(条件)
SELECT * FROM x1 WHERE l1=90 ; l1 IN (100,101) ; 【某几个值】 l1 BETWEEN 50 AND 100 ; 【范围】 l1 IS NULL ; 【空】 l1 LIKE '_ 国%' ;【搜索 _1个字符 %多个字符】 l1=50 AND L2=60; 【AND/OR/NOT】排序 ORDER BY ( ASC / DESC )
SELECT a,b,c FROM x1 ORDER BY a ASC/ DESC; 【将表x1中的 a列升序/降序排序 (默认升序)】 SELECT a,b,c C FROM x1 ORDER BY C ; 【用列别名】 【筛选的列 不一定要在 select中】将表x1中的 a列升序/降序排序 (默认升序)
select name , xinshui from x1 where xinshui not between 5000 and 12000 order by name ;函数
SELECT COUNT(*/DISTINCT) FROM books; 【记录条数】
SUM/AVG/MAX/MIN(*/DISTINCT)
all/ 不重复
select books,from
| 场景 | 写法 | 例子 |
|---|---|---|
| 主键自增ID | id INT PRIMARY KEY AUTO_INCREMENT | ✅ 你写了 |
| 不能为空、不能重复 | name VARCHAR(50) NOT NULL UNIQUE | ✅ 你写了 |
| 只能从几个值里选 | level ENUM('A','B','C') NOT NULL | ✅ 你写了 |
| 允许为空 | remark TEXT(不加 NOT NULL) | 你没写,但常见 |
| 默认值 | status INT DEFAULT 1 | 你没写,可以补 |