CREATE TABLE db1(##创建表 id int,##注意名在前,变量类型在后 name varchar(10), age int, birth DATE);
查询
1 2
SELECT * FROM db1; ##SELECT `name` FROM db1;也可以单独查询一列
删除
1 2 3
DROP TABLE db1; ##因为无法确定要删除的表是否存在,所以有更规范的写法: DROP TABLE if EXISTS db1;
表,列操作
1 2 3 4
ALTER TABLE db1 RENAME TO stu;##表重命名 ALTER TABLE stu ADD gender char(1);##添加列 ALTER TABLE stu CHANGE gender sex char(1);##改列名 ALTER TABLE stu DROP sex;##删除列
查询所有
1
SELECT * FROM stu;
添加数据
1 2
INSERT into stu VALUES(1,'林峰',20,'2002-12-17');##全添加不用标 INSERT INTO stu(id,name,age) VALUES (1,'小明',20);##指明添加位置
修改数据
1
UPDATE stu set birth = '1999-10-15' WHERE name = '小明';
删除数据
1
delete from db1 where name = '小明';
2.查询
基础查询
1 2
--基础查询 SELECT name FROM stu;
去重
1 2
--去重 SELECT DISTINCT name FROM stu;
输出结果时起别名
1 2
--别名,as可省略 SELECT id,name,age as 年龄,birth 生日 FROM stu;
条件查询
条件:
例子:
1 2
--输出年龄大于等于20的人 SELECT name FROM stu where age >= 20;
==模糊查询==
1 2 3 4
--模糊查询 --_:代表任意一个字符 --%:代表任意多个字符 SELECT * FROM stu WHERE name like '%小%';
排序查找
1 2
--排序查找 SELECT * FROM stu ORDER BY age ASC;
聚合函数和查找
聚合函数:
1 2 3 4 5 6 7 8 9 10
--统计数量,最好是用 * SELECT count(*) FROM stu; --最大值 SELECT max(age) FROM stu; --最小值 SELECT min(age) FROM stu; --平均值 SELECT avg(age) FROM stu; --总和 SELECT sum(age) FROM stu;
分组查询
分页查询
格式:select 字段列表 from 表名 LIMIT 起始索引 ,查询条目数
计算公式:起始索引 = (当前页码-1)* 每页条目数
1
SELECT * FROM stu LIMIT 3,3;
约束
1 2 3 4 5 6 7
##建表时: create table db1( id int 约束名称 ... ) ##建表后 alter table db1 modify