DDL操作
查询所有数据库
SHOW DATABASES;
数据库创建
CREATE DATABASE IF NOT EXISTS 数据库名;
数据库删除
DROP IF EXISTS 数据库名;
修改表名
ALTER TABLE 表名 RENAME TO 新表名;
添加一列
ALTER TABLE 表名 ADD 列名 数据类型;
修改数据类型
ALTER TABLE 表名 MODIFY 列名 数据类型;
修改列名和数据类型
ALTER TABLE 表名 CHANGE 列名 新列名 数据类型;
删除列
ALTER TABLE 表名 DROP 列名;
DML操作
增加数据
INSERT 表名(列名1,列名2,...) VALUES(值1,值2,...);
修改数据
UPDATE 表名 SET 列名=修改值 WHERE 条件;
注意:如果不加条件,则修改表中所有数据
删除数据
DELETE FROM 表名 WHERE 条件;
DQL操作
创建如图所示数据库:
代码:
#创建数据库
CREATE DATABASE IF NOT EXISTS stu;
#创建表
CREATE TABLE IF NOT EXISTS stu_info (
id INT,
user_name VARCHAR (10),
sex CHAR (1),
age INT,
math DOUBLE (5, 2), #共5位,小数点后保留2位
English DOUBLE (5, 2),
address VARCHAR(10)
);
简单查询
SELECT * FROM 表名 WHERE 条件;
去除重复记录
正常查询:SELECT address FROM student;
去重查询:SELECT DISTINCT address FROM student;
起别名:math重命名为数学,English重命名为英语
SELECT sn, math as '数学', English as '英语' FROM student;
按区间查询:查询年龄在20-25之间的学生信息
SELECT * FROM student WHERE age BETWEEN 20 AND 25;
使用集合查询:查询在北京、上海的同学信息
SELECT * FROM student WHERE address in ('北京','广州');
count、max、min、avg的使用
查询男女生人数:
SELECT sex, COUNT(*) FROM student GROUP BY sex;
查询数学数学最高分
SELECT MAX(math) FROM student;
group by的使用:查询所在地大于1人的城市
SELECT address, COUNT(*) FROM student GROUP BY address HAVING COUNT(*) > 1;
注:SQL代码执行顺序:where>聚合函数>having
分页查询:每页显示3个,显示第二页
SELECT * FROM student LIMIT 0,3; #0表示起始索引,3表示向后数3个
order by的使用:将学生按年龄降序,学号升序
SELECT * FROM student ORDER BY age ASC, id DESC;