MySQL学习使用[9天系列 学习笔记 Day03]

系列文章目录

MySQL学习使用[9天系列 学习笔记]
Day01了解和创建数据库
(附上链接Day01:
https://blog.csdn.net/besthtml/article/details/128055581?
Day02创建、查看和删除表
https://blog.csdn.net/besthtml/article/details/128066352?
Day03更新数据和简单查询
https://blog.csdn.net/besthtml/article/details/128069269?
Day04模糊查询、结果排序和限制输出行
https://blog.csdn.net/besthtml/article/details/128085013?
Day05统计函数和其他函数的使用
https://blog.csdn.net/besthtml/article/details/128086178?
Day06分组统计和限制分组输出
https://blog.csdn.net/besthtml/article/details/128092918
Day07嵌套查询和连接查询
https://blog.csdn.net/besthtml/article/details/128099111
Day08视图、索引、备份和恢复
https://blog.csdn.net/besthtml/article/details/128108602?
Day09事务
https://blog.csdn.net/besthtml/article/details/128115542?


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

通过Day01了解数据库的创建,Day02了解了创建、查看和删除表,现在了解一下更新数据和简单查询。简单了解SQL操纵数据,包括插入、修改和删除和使用SQL做简单的单表数据查询,包括:查询所有列、查询指定列、无条件查询、简单条件查询(=、>、>=、<、<=、!=或<>)、对空值匹配、and、or、between and、in()、结果不重复。
Day01传送门https://blog.csdn.net/besthtml/article/details/128055581
Day02传送门https://blog.csdn.net/besthtml/article/details/128066352?spm=1001.2014.3001.5501

更新数据和简单查询

通过我们Day02建的library数据库来进行操作
[DML语句进行增删改表的数据]
[DQL语句进行数据查询]

一、更新数据

1.插入数据
insert 插入数据语法格式:
插入一条数据
insert into 表名(字段名1,字段名2,字段名3,···)values(值1,值2,值3,···);[字段名和值要一一对应]
插入对条数据
insert into 表名(字段名1,字段名2,字段名3,···)values(值1,值2,值3,···),(值1,值2,值3,···),(值1,值2,值3,···)···;[字段名和值要一一对应]

习题

1.使用insert语句,向表中插入一条数据。(数据可自己编写)。
注意:向表中插入数据有先后次序,能不能最先插入borrow表中数据?

例如在book表中插入数据(示例):

insert into book(
bid,bname,author,pubcomp,pubdate,bcount,price)
values(
'001','红楼梦','曹雪芹','人民教育出版社','2013-03-25',10,19.9);
并不能向borrow表先插入数据,因为borrow表中的主键是book表中的外键,不能为空,所以必须book和reader表先填入数据。

2.使用一条insert语句一次性为book表插入三条数据(数据可自己编写)

(示例)

insert into book(
bid,bname,author,pubcomp,pubdate,bcount,price)
values(
'001','红楼梦','曹雪芹','人民教育出版社','2013-03-25',10,19.9),(
'002','西游记','吴承恩','人民教育出版社','2013-03-25',10,19.9),(
'003','水浒传','施耐庵','人民教育出版社','2013-03-25',10,19.9),(
'004','三国演义','罗贯中','人民教育出版社','2013-03-25',10,19.9);
2.修改数据
update插入数据,语法格式
update 表名
 set 字段名1=值1,字段名2=值2,字段名3=值3···     [where 条件表达式] ;
注:如果省略where子句,修改表中所有行的指定列值;有where子句,修改满足条件的行的对应列的值

习题

将图书表中所有人民教育出版社的图书价格提高百分之十。

(示例)

update book set price=price*1.1 where pubcomp='人民教育出版社';
3.删除数据
删除所有数据 delete from 表名;
删除指定条件数据 delete from 表名  where 条件表达式;
删除数据以行为单位;如果主表中的数据已被从表参照,默认不允许删除。

习题

删除人民教育出版社的图书

(示例)

delete from book where pubcomp='人民教育出版社';

二、简单查询

0 查询语法结构(大概看一下就行,可以先看后面的)
SELECT [ALL | DISTINCT | DISTINCTROW ] [HIGH_PRIORITY] [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] select_expr [, select_expr ...] 
FROM table_references [PARTITION partition_list
[WHERE where_condition] 
[GROUP BY {col_name | expr | position} [ASC | DESC], ... [WITH ROLLUP]] [HAVING where_condition] 
[ORDER BY {col_name | expr | position} [ASC | DESC], ...] [LIMIT {[offset,] row_count | row_count OFFSET offset}] [PROCEDURE procedure_name(argument_list)] 
[INTO OUTFILE 'file_name' [CHARACTER SET charset_name] export_options | INTO DUMPFILE 'file_name' | INTO var_name [, var_name]] [FOR UPDATE | LOCK IN SHARE MODE]]
1 查询所有列
使用“*”表示选择一个表或视图中的所有列。
例 查询book表中的所有数据。
SELECT *  FROM book;
2 查询指定列
使用SELECT语句选择一个表中的某些列,各列名之间要以逗号分隔。
例 查询book表中的图书名称和作者。
SELECT bname,author   FROM book;
3 带简单条件的查询
用where子句限定简单的条件。
例 查询book表中出版社为人民教育出版社的图书名称。
SELECT bname FROM  book WHERE pubcomp='人民教育出版社';
例 查询book表中出版社为人民教育出版社的图书名称。
SELECT bname FROM  book WHERE pubcomp !='人民教育出版社';
包含其他比较运算符(>、>=、<、<=)的查询,大家可以自行练习。

例 查询book表中bid为001系和002图书名称。
SELECT bname FROM  book WHERE bid in('001','002');
也可写成:
SELECT bname FROM  book WHERE bid='001' or szx='002;
例 查询book表中价格在10到20之间的图书信息。
SELECT * FROM  book
WHERE price between 10 and 20;
也可写成:
SELECT * FROM  book
WHERE price >=10 and price<=20;
例 查询book表中尚未确定现存数量的图书信息。
SELECT * FROM  book
WHERE bcount is null;
例 查询book表中现存数量不为空的图书信息。
SELECT * FROM  book
WHERE bcount is not null;
4消除结果集中的重复行
对表只选择其某些列时,可能会出现重复行。例如,若对xk数据库的xuanke表只选择学号,则出现多行重复的情况。可以使用DISTINCT关键字消除结果集中的重复行,其格式是:
SELECT  DISTINCT | ALL  column_name [ , column_name…]
关键字DISTINCT的含义是对结果集中的重复行只选择一个,保证行的唯一性。
例9 在book表查询出版社名称,只输出一次出版社名称。(distinct只能出现所有字段的最前方,若出现在pubcomp,bname俩个字段之前,表示俩个字段联合起来去重)
SELECT DISTINCT pubcomp FROM book; 

总结

通过Day03了解使用SQL查看表,了解了更新数据和简单查询。简单了解SQL操纵数据,包括插入、修改和删除和使用SQL做简单的单表数据查询,包括:查询所有列、查询指定列、无条件查询、简单条件查询(=、>、>=、<、<=、!=或<>)、对空值匹配、and、or、between and、in()、结果不重复。等,今天的笔记就到这里。Day04学习查询之模糊查询。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值