【MySQL 第六天 表的增删改查 分组|排序|Limit语句查询限制】

  • 【1】mysql单表数据插入
  • 【1.1】mysql一次性插入数据
  • 【1.2】mysql指定列插入数据
  • 【1.3】mysql同时插入多条数据
  • 【1.4】mysql查询结果插入表中
  • 【2】mysql设置自动编号1
  • 【3】mysql设置自动编号2
  • 【4】mysql单表数据记录的更新
  • 【5】mysql单表数据记录的删除
  • 【6】mysql单表数据记录的查询
  • 【7】mysql查询结果进行分组
  • 【8】mysql查询结果排序
  • 【9】mysql Limit语句限制查询记录的数量



mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql


【1】mysql单表数据插入

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql_02


mysql实现分组排序分页有问题吗 mysql分组排序语句_后端_03


【1.1】mysql一次性插入数据

为表的所有列插入数据

insert into tab_name(column_name1,column_name2,...,column_namen) values(value1,value2,...,valuen);

mysql实现分组排序分页有问题吗 mysql分组排序语句_sql_04


mysql实现分组排序分页有问题吗 mysql分组排序语句_后端_05


【1.2】mysql指定列插入数据

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql实现分组排序分页有问题吗_06


mysql实现分组排序分页有问题吗 mysql分组排序语句_数据库_07


【1.3】mysql同时插入多条数据

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql_08

insert into tab_name (column_listname) values (value_list1),(values2),...,(valuesn);
insert into bookparent(book_id,book_name,parent_id)values(1,'C语言',1),
(2,'C++',2),(3,'mysql',3);

mysql实现分组排序分页有问题吗 mysql分组排序语句_后端_09


【1.4】mysql查询结果插入表中

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql实现分组排序分页有问题吗_10

insert into tab1_name (column_list1) select(column_list2) from tab2_name where (condition)

mysql实现分组排序分页有问题吗 mysql分组排序语句_数据库_11

insert into test select *from bookparent where book_id>2;

mysql实现分组排序分页有问题吗 mysql分组排序语句_数据库_12


【2】mysql设置自动编号1

希望第一列能自动增加

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql实现分组排序分页有问题吗_13

column_name datatype auto_increment

mysql实现分组排序分页有问题吗 mysql分组排序语句_后端_14


mysql实现分组排序分页有问题吗 mysql分组排序语句_sql_15


举例

create table bookqq(
-> qq_id int primary key auto_increment,
-> 11_name varchar(20) not null unique,
-> parent_id int null
-> );

插入数据,插入的时候不按自增插入,查看的时候是自增,关键字auto_increment起作用

mysql实现分组排序分页有问题吗 mysql分组排序语句_后端_16


创建一个临时表,使用auto_increment,就算不赋值,也会自动赋值从1开始自增

mysql实现分组排序分页有问题吗 mysql分组排序语句_后端_17

对auto_increment 创建表的时候就给一个自增值的初始值

create table tab_test(
	id int primary key auto_increment ,
	k_name varchar(30) not null unique ,
	parent_id int not null
)auto_increment=5;

insert into tab_test(k_name,parent_id)values('KK',1);

insert into tab_test(k_name,parent_id)values('DD',2);
insert into tab_test(k_name,parent_id)values('EE',3);
insert into tab_test(k_name,parent_id)values('AA',4);

mysql实现分组排序分页有问题吗 mysql分组排序语句_数据库_18


【3】mysql设置自动编号2

alter table tab_name modify var_name datatype auto_increment ;

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql实现分组排序分页有问题吗_19


alter table tab_name auto_increment = x;

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql实现分组排序分页有问题吗_20


alter table tab_name modify var_name datatype ;

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql_21

创建表 删除自增列 插入数据验证

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql实现分组排序分页有问题吗_22


删除自增列 添加自增列 指定初始值 插入值

mysql实现分组排序分页有问题吗 mysql分组排序语句_后端_23

对于有外键关联的表 需要删除外键后 才能添加自增列

mysql实现分组排序分页有问题吗 mysql分组排序语句_后端_24


mysql实现分组排序分页有问题吗 mysql分组排序语句_sql_25


mysql实现分组排序分页有问题吗 mysql分组排序语句_sql_26


删除成功 解除外键


mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql实现分组排序分页有问题吗_27


mysql实现分组排序分页有问题吗 mysql分组排序语句_数据库_28


mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql实现分组排序分页有问题吗_29


mysql实现分组排序分页有问题吗 mysql分组排序语句_数据库_30


【4】mysql单表数据记录的更新

mysql实现分组排序分页有问题吗 mysql分组排序语句_数据库_31

update tab_name set 列名 =值 where (condition)

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql_32


mysql实现分组排序分页有问题吗 mysql分组排序语句_数据库_33

图书类别表插入数据

/*图书类别表*/
insert into bookparent(book_name,parent_id)values('计算机',0),('医学',0),('编程语言',1),('数据库',1),('后端',2);

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql_34


图书信息表插入数据

/*图书信息表*/
insert into bookinfo(book_id,book_copy_id,book_name,author,price,store,email,press,pubdate)values
(20150201,3,'C++','jk',79.8,5,'3055555@qq.com','苏州出版社','2007-04-01'),
(20150202,4,'JAVA','jC',95,2,'3055533@qq.com','贵州出版社','2009-04-01'),
(20150203,3,'C#','jS',69,3,'3055522@qq.com','广州出版社','2003-09-01'),
(20150204,5,'Shell','ja',136,1,'3055511@qq.com','锦州出版社','2011-04-01'),
(20150205,5,'Linux','jq',24.5,4,'3055566@qq.com','金州出版社','2011-04-01');

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql实现分组排序分页有问题吗_35


读者信息表插入数据

/*读者信息表*/
insert into readerinfo(card_id,name,sex,age,tel,balance)values
(522429199628524432,'KK','女',12,'16635824456',300),
(522429199628524433,'DD','女',12,'16635824456',200),
(522429199628524434,'SS','男',12,'16635824456',300),
(522429199628524435,'AA','男',12,'16635824456',400),
(522429199628524436,'QQ','男',12,'16635824456',500);

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql实现分组排序分页有问题吗_36


借阅信息表数据的插入和计算

/*借阅信息表*/
/*图书信息表的第一列图书编号20150201 读者作者KK 522429199628524432 在2017-11-29借书一个月*/
insert into borrowinfo(book_id,card_id,borrow_date,return_date,status)values
(20150201,522429199628524432,'2017-11-29','2017-12-29','否');

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql实现分组排序分页有问题吗_37


/*查看图书信息表 编号为20150201的图书的价格*/
select price from bookinfo where book_id = 20150201;

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql实现分组排序分页有问题吗_38

/*借书费用=书的价格*%5   借书的人KK 522429199628524432 她的余额=300 借书之后要扣费*/
select balance from readerinfo where name = 'KK';
update readerinfo set balance = balance - 79.80*0.05 where name = 'KK';
select *from readerinfo;

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql_39


/*借书之后,图书信息表里库存-1*/
update bookinfo set store = store -1 where book_id =20150201;
select *from bookinfo;

mysql实现分组排序分页有问题吗 mysql分组排序语句_后端_40


【5】mysql单表数据记录的删除

delete from tab_name [where <condition>]

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql实现分组排序分页有问题吗_41

/*删除KK用户*/
delete from readerinfo where card_id = '522429199628524432';

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql_42


mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql实现分组排序分页有问题吗_43


/*删除表中的所有数据*/
delete from bookinfo;

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql_44


truncate table tab_name;

mysql实现分组排序分页有问题吗 mysql分组排序语句_sql_45

/*删除表中数据 和表  并且以这个表在创建一个相同的表名*/
truncate TABLE readerinfo;

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql_46


mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql_47


mysql实现分组排序分页有问题吗 mysql分组排序语句_sql_48

/*查询某个数据 并且将他删除*/
SELECT book_name FROM bookparent where book_id =5;
DELETE FROM bookparent WHERE book_id =5;

mysql实现分组排序分页有问题吗 mysql分组排序语句_后端_49


mysql实现分组排序分页有问题吗 mysql分组排序语句_后端_50


【6】mysql单表数据记录的查询

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql实现分组排序分页有问题吗_51


mysql实现分组排序分页有问题吗 mysql分组排序语句_后端_52

【1】select *from tab_name;
【2】select * column_name_1, column_name_2, ..., column_name_n from tab_name;

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql实现分组排序分页有问题吗_53

select distinct column_name from tab_name;

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql实现分组排序分页有问题吗_54


select * from tab_name where column_name is null;

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql_55


/*查询表格所有列数据*/
select *from borrowinfo;

/*查询其中的两列*/
select book_id,card_id,borrow_date from borrowinfo;
/*查询其中的1列*/
select borrow_date from borrowinfo;

/*根据条件查询指定的列*/
select id,name,pid from test where pid>2;

/*查询是空的列,没有值  pid列那些值为空*/
select *from test where pid is null;

/*查询没有重复的列*/
select distinct pid from  test;

mysql实现分组排序分页有问题吗 mysql分组排序语句_数据库_56


【7】mysql查询结果进行分组

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql实现分组排序分页有问题吗_57

[ group by column_name ] [having <条件表达式expre>]

mysql实现分组排序分页有问题吗 mysql分组排序语句_数据库_58

[ having <条件表达式> ]

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql_59


/*查询test表中 name列 java的个数*/
select count(*) from test where name ='java';

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql_60


mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql实现分组排序分页有问题吗_61


/*按照性别进行分组*/
insert into readerinfo(card_id,name,sex,age,tel,balance)values
(522429199628524432,'KK','女',12,'16635824456',300),
(522429199628524433,'DD','女',12,'16635824456',200),
(522429199628524434,'SS','男',12,'16635824456',300),
(522429199628524435,'AA','男',12,'16635824456',400),
(522429199628524436,'QQ','男',12,'16635824456',500);

select sex from readerinfo group by sex;

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql实现分组排序分页有问题吗_62


/*以分组方式 查看性别的人数*/
select sex,count(*) from readerinfo group by sex;

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql实现分组排序分页有问题吗_63


/*分组方式 按条件查看 性别sex列中 having过滤分组 人数大于2的*/
select sex from readerinfo group by sex having count(sex)>2;

mysql实现分组排序分页有问题吗 mysql分组排序语句_后端_64


【8】mysql查询结果排序

order by  column_name [ASC|DESC]

mysql实现分组排序分页有问题吗 mysql分组排序语句_sql_65


select * from tab_name order by column_name;

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql_66


select * from tab_name order by column_name_1,... ,column_name_n;

mysql实现分组排序分页有问题吗 mysql分组排序语句_数据库_67


select * from tab_name order by column_name_1 ASC,... ,column_name_n DESSC;

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql_68


/*按照读者信息表的余额进行排序 升序*/
select *from readerinfo order by balance ASC;

mysql实现分组排序分页有问题吗 mysql分组排序语句_数据库_69

/*按照读者信息表的余额进行排序 降序*/
select *from readerinfo order by balance DESC;

mysql实现分组排序分页有问题吗 mysql分组排序语句_数据库_70


/*余额升序 年龄降序*/
select *from readerinfo order by balance ASC,age DESC;

mysql实现分组排序分页有问题吗 mysql分组排序语句_后端_71


mysql实现分组排序分页有问题吗 mysql分组排序语句_后端_72


【9】mysql Limit语句限制查询记录的数量

limit [offset,] row_count

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql_73

【1】select *from tab_name limit showtab_rows;//显示表前三行
【2】select *from tab_name limit 2,2;//跳过前两行 从第三行开始显示 显示2条

mysql实现分组排序分页有问题吗 mysql分组排序语句_sql_74


读者信息表

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql_75


/*显示读者信息表的前3行记录*/
select *from readerinfo limit 3;

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql_76

/*跳过前两行 从第三行开始显示 显示2条*/
select *from readerinfo limit 2,2;

mysql实现分组排序分页有问题吗 mysql分组排序语句_数据库_77

/*向后偏移2行 显示偏移位置后的三行  (不是最后三行切记)/
select *from readerinfo limit 3 offset 2;

mysql实现分组排序分页有问题吗 mysql分组排序语句_mysql_78


/*将读者信息表按照年龄进行分组,统计每组年龄下的个数。然后按照年龄进行排序,并查看结果中的前四条记录*/
select age,count(*) from readerinfo group by age order by age desc limit 4;

mysql实现分组排序分页有问题吗 mysql分组排序语句_数据库_79


这章内容比较多,没有难不难的说法,熟能生巧,下一章更精彩/😕😕😕

mysql实现分组排序分页有问题吗 mysql分组排序语句_数据库_80