生活最大的危险在于一个空虚的心
文章目录
- MySQL
- SQL语句
- 总结
MySQL
SQL语句
- 介绍
- 用途
- 查询语句
- 查询语法:
SELECT 字段1,字段2,...FROM表名
- 查询所有的字段:
SELECT * FROM 表名
- 带条件的查询:
SELECT * FROM 表名 [WHERE 条件] [ORDER BY 排序字段 [,排序字段]] LIMIT [开始位置,] 长度
- 查询语法:
- 模糊查询
%
代表任意长度 (包括0) 的任意字符_
代表长度的任意字符like
在执行模糊查询时,必须使用like来作为匹配条件
- 统计查询
max
查询最大值- 例
SELECT MAX(age) FROM heros
返回heros
表中age
列的最大值,即所有英雄中年龄最大的那个英雄的年龄
- 例
min
查询最小值- 例
SELECT MIN(age) FROM heros
返回heros
表中age
列的最小值,即所有英雄中年龄最小的那个英雄的年龄
- 例
avg
查询平均值- 例
SELECT AVG(age) FROM heros
返回heros
表中age
列的平均值,即所有英雄年龄的平均值
- 例
sum
查询总和- 例
SELECT SUM(age) FROM heros
返回heros
表中age
列的所有值的总和,即所有英雄年龄的总和
- 例
count
查询总记录数- 例
SELECT COUNT(*) AS cc FROM heros
返回heros
表中的行数,即英雄的总数。AS cc
是给结果列起一个别名
- 例
- 查询结果排序
order by
可以对查询结果按某个字段进行升序或者降序排列- 升序
asc
默认值 - 降序
desc
- 升序
- 注意:如果SQL语句中,有where和order by ,where一定要放在order by之前
- 限制查询结果
limit
限制查询结果的起始点和长度- 格式 :
limit start,length
- start:起始点,查询结果的索引,从0开始,0代表第一条数据,如果省略start,则默认表示从0开始
- length:长度
- 添加数据
- 格式:
insert into 表名 ...
- 方式一:指定字段和值,只要字段和值对应即可,和顺序无关
insert into heroes (字段, 字段, ...) values (值, 值, ...)
- 例
insert into heroes (nickname, age, name) values ('虚空恐惧', 98, '科加斯')
- 例
- 方式二:和顺序有关,因为没指定子段,所以值必须是所有的值,而且顺序和表中字段的顺序要一致
- 例
insert into heroes values (null, '拉克丝', '光辉女郎', '女', 28)
- 例
- 方式三:使用set设置新数据的值,没有顺序关系
insert into heroes set 字段=值, 字段=值, ....
- 例
insert into heroes set name='李青', nickname='盲僧'
- 例
- 格式:
- 修改数据
- 格式:
update 表名 set 字段1=值1, 字段2=值2,... where 修改条件
- 加条件修改:例
update heroes set age=28, skill='在地上打滚' where id=19
- 如果不指定条件,则会修改所有的行:例
update heroes set sex='妖'
- 加条件修改:例
- 格式:
- 删除数据
- 格式:
delect from 表名 where 删除条件
- 加条件删除:例
delete from heroes where id=19
- 如果不加条件,将删除所有的数据,危险操作
- 例
delete from heroes
- 例
- 加条件删除:例
- 注意:不指定条件将删除所有的数据
- 格式:
总结
sql">查询id、name、age三个字段SELECT id,name,age FROM heroes
查询所有的字段select * from heroes
查询id大于3的英雄 (select * from heroes where 条件)select * from heroes where id>3
查询id大于3的男英雄select * from heroes where id>3 and sex='男'
模糊查询查询名字中带有 “斯” 的英雄select * from heroes where name like '%斯%'查询名字的最后一个字是 “斯” 的英雄select * from heroes where name like '%斯'查询名字中带有“斯”,并且要求“斯”前面只能有一个字的英雄select * from heroes where name like '_斯%'
统计查询查询最大值 (查询所有英雄中年龄最大的的英雄)select max(age) from heroes查询最小值 (查询所有英雄中年龄最小的的英雄)select min(age) from heroes查询平均值 (查询所有英雄年龄的平均值)select avg(age) from heroes查询总和 (查询所有英雄的年龄之和)select sum(age) from heroes查询总记录数 (查询共计有多少个英雄)select count(*) as cc from heroes
对查询结果进行排序 (select * from heroes order by 字段 [ASC|DESC], 字段 [ASC|DESC] .....)查询所有的英雄,按年龄从大到小排序(降序)select * from heroes order by age desc查询所有的英雄,按照年龄升序排序select * from heroes order by age asc查询id大于3的英雄,并且按照年龄降序排序select * from heroes where id>3 order by age desc注意:where要放到order by前面;where和order by部分之间,不要加and
限制查询结果 (select * from heroes limit start, length)查询前三个英雄select * from heroes limit 0, 3查询第4、5、6个英雄select * from heroes limit 3, 3查询年龄最大的女英雄select * from heroes where sex='女' order by age desc limit 1
添加英雄insert into 表名 (字段, 字段, 字段, ...) values (值, 值, 值, ...)insert into 表名 values (值, 值, 值, ...) 要求值的顺序和字段的顺序一致,个数也要一致insert into 表名 set 字段=值, 字段=值, ....
修改英雄update heroes set name='李青', nickname='盲僧' where 条件
删除英雄delete from heroes where 条件
删除表drop table heroes
删除数据库drop database abc