MySQL基本语句大全

数据库的基本操作:

表名都是tbl_stu
1.插入(增加)
关键字 :insert into
(1)向表tbl_stu中的所有列插入数据
Insert into tbl_stu values(default,’小强’,20,’男’,’123456’,’陕西省西安市’)
(2)向表tbl_stu中的部分列插入(不插入的列必须定义为允许为空或有默认值的列)
Insert into tbl_stu(stu_no,stu_name,stu_age,stu_sex) Values(default,’小李子’,20,’男’)
(3)同时向表tbl_stu插入多条数据
Insert into tbl_stu values(default,’小王’,22,’女’,’110’,’陕西省西安市’), (default,’小花’,21,’女’,’120’,’陕西省西安市’)
2.修改
关键字:update set
修改表中原有的数据,修改某一行或某几行的某些列数据
(1)Update tbl_stu set stu_age=20 where stu_no=4
注意:where条件是用来确定行的,where条件的结果为boolean,当结果为true时之前where前面的语句,当结果为false不执行
数据库中的=表示判断是否相等,而非赋值
(2)将tbl_stu表stu_no列的值能被2整数的学生年龄+1
Update tbl_stu set stu_age=stu_age+1 where stu_no%2=0
(3)更新学生学号在10以内的学生的年龄和地址
Update tbl_stu set stu_age=22,stu_address=’西安市’ Where stu_no<=10
3.删除
关键字:delete from
从表中删除一行数据
(1)删除学号为4的学生
Delete from tbl_stu where stu_no=4
(2)删除学号为5和11的学生
Delete from tbl_stu where stu_no=5 or stu_no=11
Delete from tbl_stu where stu_no in (5,11)
4.查询
关键字:select
(1)查询所有行所有列数据
Select * from tbl_stu
(2)查询所有行的部分列数据
select stu_name,stu_age,stu_sex from tbl_stu;
(3)使用别名显示列数据
select stu_name as ‘姓名’,stu_age as ‘年龄’,stu_sex as ‘性别’ from tbl_stu;
(4)查询部分行的数据(条件查询)
select stu_name,stu_age,stu_sex from tbl_stu where stu_age<=25;

select stu_name,stu_age,stu_sex from tbl_stu where stu_age>=22 and stu_age<=25;

select stu_name,stu_age,stu_sex from tbl_stu where stu_age between 22 and 25;
(5)排序查询(order by<asc升序|desc降序>)
根据年龄升序排序(排序规则默认为升序)
Select * from tbl_stu order by stu_age
根据年龄降序排序
Select * from tbl_stu order by stu_age desc
根据年龄降序排序,如果年龄相同在按照学号降序排序
SQL会先按照第一排序规则进行排序,如果第一排序规则进行排序后出现相同的数据则按照第二排序规则对相同的数据再次进行排序,如果不存在相同的数据则第二排序规则不起作用
select * from tbl_stu order by stu_age desc,stu_no desc;
(6)聚合查询
使用位置:1.select子句,2.having子句
a)统计查询(count(列名|))
//一行中任何一列有数据就参与统计
select count(
) from tbl_stu;
select count(stu_no) from tbl_stu;//优化
//只针对stu_address列进行统计,有数据参与统计没有数据不参与统计
select count(stu_address) from tbl_stu;
b)求和查询(sum(列名))
该函数查询是针对数字列进行求和
//计算所有学生的年龄
Select sum(stu_age) from tbl_stu
c)求平均数查询(avg(列名))
该函数针对数字类进行求平均数
Select avg(stu_age) from tbl_stu
d)求最大值和最小值查询(max(列名)|min(列名))
//求最大年龄
Select max(stu_age) from tbl_stu
//求最小年龄
Select min(stu_age) from tbl_stu
(7)分组查询(group by)
是指将具有相同数据的列分为一组;
//分组统计男女不同性别的人数
Select count()as ‘人数’,stu_no from tbl_stu group by stu_sex;
获得年龄最大的学生及同年龄的人数
select stu_age,count(
) as ‘人数’
from tbl_stu group by stu_age
order by stu_age desc limit 0,1
Having,筛选,它是能跟分组一起使用,先分组在筛选

//分组统计年龄大于等27岁的学生人数
select count(*),stu_age from tbl_stu group by stu_age having stu_age>=27;
(8)分页查询(limit 起始行号,每页查询的行数)
Mysql中的起始行号为0
Select stu_no,stu_name,stu_age,stu_sex
From tbl_stu limit 0,10;

(9)模糊查询
在不知道确切数据时我们就要使用模糊查询
范围查询:stu_age between 20 and 30
Stu_age in (20,22,27)
字符串模糊搜索查询:
查询姓名中带有”强”的学生
通配符:%表示0个或多个任意字符
_表示1个任意字符
Select stu_name from tbl_stu where stu_name like ‘%强%’
Select stu_name from tbl_stu where stu_name like ‘
查询没有填写地址的学生信息(is null)
Select stu_name,stu_address from tbl_stu where stu_address is null
查询已经填写地址的学生信息(is not null)
Select stu_name,stu_address from tbl_stu where stu_address is not null

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值