Mysql常用语句的具体实例

本文提供了一系列MySQL数据库操作实例,涵盖查询、更新、删除等基本功能,以及联表查询、索引创建、视图管理和权限控制等高级应用。适用于初学者快速上手和进阶用户深入理解。

Mysql常用语句的具体实例

1.查询zt_user表中,account字段为zhanghan的记录
select * from zt_user where account=‘zhanghan’

2.删除zt_user表中,account字段为zhanghan的记录
delete from zt_user where account=‘zhanghan’

3.zt_user表中,插入一条记录 dept=3,account=zhanghan,password=e10adc3949ba59abbe56e057f20f883e,role=po,realname=张晗
insert into zt_user(dept,account,password,role,realname) values(3,‘zhanghan’,‘e10adc3949ba59abbe56e057f20f883e’,‘po’,‘张晗’)

4.zt_user表中,修改account为zhanghan这条记录的真实姓名 realname为 张翰
update zt_user set realname=‘张翰’ where account=‘zhanghan’

5.查询zt_user表中dept的值在0-3之间的数据
select * from zt_user where dept between 0 and 3

6.查询zt_user表中account为‘zhanghan’的dept、realname的值
select dept,realname from zt_user where account=‘zhanghan’

7.zt_user表中按照id正序排列,取前3条记录
select * from zt_user order by id limit 3

8.zt_user表中按照id倒叙排列,取前3条记录
select * from zt_user order by id desc limit 3

9.查询zt_user表中dept为‘3’、account为‘zhanghan’的记录
select * from zt_user where dept=3 and account =‘zhanghan’

10.查询zt_bug表中,assignedTo 为‘zhanghan’的 product,,并去重
select distinct product from zt_bug where assignedTo=‘zhanghan’

11.查询zt_bug中 assignedTo为zhanghan的记录,用‘in’关键字
select * from zt_bug where assignedTo in(‘zhanghan’)

12.在上一题的基础上,用having过滤出project=2的记录
select * from zt_bug where assignedTo in(‘zhanghan’) having product=2

13.查询zt_bug中 assignedTo不为zhanghan的记录,用‘not in’关键字
select * from zt_bug where assignedTo not in (‘zhanghan’)

14.查询zt_bug表中,assignedTo以z开头的记录
select * from zt_bug where assignedTo like ‘z%’

15.查询zt_bug表中,assignedTo带有a字母的记录
select * from zt_bug where assignedTo like ‘%a%’

16.查询zt_bug表中,assignedTo以h*n结尾的记录(h和n之间只有一个字符)
select * from zt_bug where assignedTo like ‘%h_n’

17.查询zt_bug表中,assignedTo为zhanghan,且product不为2的记录
select * from zt_bug where assignedTo=‘zhanghan’ and not product=2

18.查询zt_bug表中,分配者(assignedTo字段)为zhanghan的所有bug,提取assignedTo字段并设置别名为“受理人”
select assignedTo as ‘受理人’ from zt_bug where assignedTo=‘zhanghan’

19.zt_user为用户表,account为用户名,realname为真实姓名
zt_bug为bug表,表中用assignedTo为用户名(同zt_user中的account),title为bug标题
请查询出提交给’zhanghan’bug的title及真实姓名
select u.realname,b.title from zt_user as u ,zt_bug as b where u.account=‘zhanghan’ and b.assignedTo=‘zhanghan’

20.内连接
INNER JOIN:如果表中有至少一个匹配,则返回行
使用内连接,显示出zt_bug 中的title及zt_user中的realname
select u.realname,b.title from zt_user as u INNER JOIN zt_bug as b on u.account=b.assignedTo

21.左连接(在上一题基础上修改)
LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行
select u.realname,b.title from zt_user as u left JOIN zt_bug as b on u.account=b.assignedTo

22.右连接(在上一题基础上修改)
RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行
select u.realname,b.title from zt_user as u RIGHT join zt_bug as b on u.account=b.assignedTo

23.查询zt_bug 表中的openedBy 及 assignedTo字段,使用UNION链接两个语句
select openedBy from zt_bug union select assignedTo from zt_bug

24.在上一题的基础上,修改为,结果的值允许重复
select openedBy from zt_bug union all select assignedTo from zt_bug

25.使用group by 查询zt_bug中 项目(product)及每个项目的bug数量
select product ,count(*) from zt_bug group by product

26.创建索引,以便更加快速高效地查询数据。
在 “zt_bug” 表的 “title” 列上创建一个名为 "bug_index " 的索引:
create index bug_index on zt_bug(title)
27.将上面的索引删除(mysql数据库的用法)
drop index bug_index on zt_bug

28.创建视图
视图是指计算机数据库中的视图,是一个虚拟表,其内容由查询定义。
查询zt_bug表中assignedTo='zhanghan’的title字段,并生成视图 bug_view
create view bug_view as select title from zt_bug where assignedTo=‘zhanghan’

29.删除上面创建的视图
drop view bug_view

30.创建数据库 test_database:
create database test_database

31.将test_database库删除
drop database test_database

32.建表: (字段类型需要合理)
表名 test_table 字段 test_id 关键字,自增id 不能为空,自动增长
Test_name 不能为空
Test_sex 默认为 男
Money 默认为 3000
create table test_table(
test_id int(6) primary key not null auto_increment,
test_name varchar(50) not NULL,
test_sex varchar(3) default ‘男’,
money float(30) default ‘3000’
)

33.删表 test_table
drop table test_table

34.sql数据库查询
学生表(学生id,姓名,性别,分数)student(s_id,name,sex,score)
班级表(班级id,班级名称)class(c_id,c_name)
学生班级表(班级id,学生id)student_class(s_id,c_id)
1.查询‘一班’得分在80分以上的学生
select * from student where score>=80 and s_id in(select s_id from student_class where c_id=(select c_id from class where c_name=”一班”)

2.查询所有班级的名称,和所有班级中女生人数和女生的平均分
select c.c_name,count(s.s_id),avg(s.score) from class as c
inner join student_class as sc on sc.c_id=c.c_id
inner join student as s on s.s_id=sc.s_id where s.sex= ‘女’ group by c.c_name

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值