1.创建数据库
CREATE DATABASE 数据库名 CHAR SET UTF8;
2.显示所有数据库
SHOW DATABASES;
3.使用数据库;
USE 数据库名
4.创建表; 表,储存数据的单位
用户表; 用户的ID 年龄,用户名
CREATE TABLE USER(ID INT , AGE INT ,USERNAME VARCHAR (10))
5.显示所有的表
SHOW TABLES;
6.查表的字段;
DESC 表明;
7.表加字段; 条件几个性别
ALTER TABLE 表名 ADD 字段名 字段类型
8.修改字段的类型;
ALTER TABLE 表名 MODIFY 字段名 字段类型;
9.删除字段;
ALTER TABLE 表名 DROP 字段名;
10.修改表名;
RENAME TABLE 原名字 TO 新名字;
11.查看建表细节;
SHOW CREATE TABLE 表名;
12.修改表的字符集
ALTER TABLE 表名 CHARACTER SET 字符集名称
13.修改列名;
ALTER TABLE 表名 CHANGE 原始列名 新列名 字段类型;
14.删除表;
DROP TABLE 表名;
DML; 管理数据;
1.查询所有的数据;
SELECT * FROM 表名 ;
2.插入数据;
INSERT INTO 表名 (字段1,字段2) VLUES (字段1的值,字段2的值);
3.更新数据;
UPDATE 表名 SET 列名 = 列值 WHERE 列名 = 列值;
4.删除记录;
DELETE FROM 表名 WHERE 列名=值; 删除数据可以找回
TRUNCATE TABLE 表名; 删除整个表 在重新建立一个一样结构的表,数据不能找回
DQL; 数据查询语句;
1.查询所有数据;
SELECT * FROM 表名 ;
2.查询定制数据;
SELECT 指定字段 FROM 表名;
3.条件查询(根据条件查询)
SELECT * FROM 表名 WHERE 字段 <=17;
4.查询年龄;
SELECT * FROM 表名 WHERE 字段 BETWEEN 17 AND 15;
5.查询年龄在15 和 字段 两个条件
SELECT FROM 表名 WHERE 字段=数值 AND 字段= 数值;
查询条件 或 条件
SELECT FROM 表名 WHERE 字段 = 数值 OR 字段 = 数值;
and
or
is null
is not null
6.模糊查询 ; LIKE _一个字符 %多个字符
查询name 性马的;
SELECT * FROM 表名 WHERE 字段名 LIKE 马%
7.排序 ORDER BY
升序 ASC;
降序 DESC;
SELECT * FROM 表名 ORDER BY 字段名 排序方式;
8.聚合函数
COUNT () 统计不会NULL 的行数
SELECT COUNT(字段) FROM 表名
MAX()
MIN()
SUM()
AVG()
分组; GROUP BY 字段名
关键字顺序
书写顺序
SELECT (5) FROM (1) WHERE(2) GROUP BY(3) HAVING(4) ORDER BY(6) LIMIT(7)
分页; LIMIT INT (下标 从第几个查) ,int (显示几个)
开始的索引 = (当前的页码 - 1 ) * 每页显示的条数
约束;
PRIMARY KEY 主键唯一不为空
UNIQUE;唯一
AUTO_INCREMENT (自增);
not null ;不为空
外键;
创建外键;
CONSTRAINT 外键名 FOREIGN KEY(外键列名称) REFERENCES 主表名称(列名称)
删除外键;
ALTER TABLE 表名 DROP FOREING KEY 外键名称;
创建表之后删除外键;
ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREING KEY (外键字段名称) REFERENCES 主表名称 (主表列名称);
级联;
添加级联操作;
创建表之后删除外键 + ON UPDATE CASSCADE ON DELETE CASCADE ;
级联分类;
可以放一起 也可以分开
更新 ON UPDATE CASSCADE
删除 ON DELETE CASCADE
多表联查;
99;
SELECT student.name ,teacher.tname from student,teacher where student.id = teacher.sid;
内连接;
JOIN ON
SELECT * FROM 表一 JOIN 表二 ON 条件;
左外链接和右外连接;
SELECT * FROM 表一 LEFT JOIN 表二 ON 条件;
索引;
加快查询效率 1000万个数据ID给上索引
创建索引
CREATE INDEX 索引名 ON 表名(字段);
删除索引;
DROP INDEX 索引的名称 ON 表名;
查看索引;
SHOW INDEX FROM 表名;
数据库的设计
多表之间的关系
1.一对一;
2.一对多(多对你);
3.多对多;
2.实现关系;
1.一对多(多对一)
实现方式;在多个一方建立外键,指向一的一方的主键
2.多对多;
实现方式;多对多关系实现需要借助第三张中间表,最少两个字段,作为第三张表的外键分别指向两张表的主键
联合主键
正确思路写法
SELECT
查什么
FROM
哪个表
WHERE
什么条件