MySQL 数据库
结构化/半结构化/非结构化数据数据类型int(m)m为显示长度 double(m,d) m为总长度 d为小数 char定长 varchar不定 图片 影音数据库 表创建删除 数据库 CREATE DROPCREATE DATABASE test DEFAULT CHARACTER SET utf8; DROP DATABASE test; USE test2;创建数据库 test 默认字符集删除切换库创建删除 表 CREATE DROPCREATE TABLE x ( x1 int comment 姓名 , x2 varchar(5) comment注释2 ) comment 用户表 表注释 ; DROP TABLE x ; SHOW table ;修改 ALTERALTER 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 l1100 ORDER BY l2 ;列去重 */DISTINCTSELECT * / 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 , l1l2 FROM x1;生成一列与 已知列有算数关系的新列NULL 空行 WHERE(条件)SELECT * FROM x1 WHERE l190 ; l1 IN (100,101) ; 【某几个值】 l1 BETWEEN 50 AND 100 ; 【范围】 l1 IS NULL ; 【空】 l1 LIKE _ 国% 【搜索 _1个字符 %多个字符】 l150 AND L260; 【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场景写法例子主键自增IDid 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你没写可以补