select * from table_name;(查看表的数据信息)
select col_name from table_name;(查看某列的数据)
为表的所有列插入数据
insert into table_name(column_list) values(value_list);
insert into table_name(id,name,age) values(value_list);
可以省略列名称,但数据一定要跟列名顺序一样
为表的指定列插入数据
同时插入多条记录
insert into table_name(column_list) values(value_list1),(value_list2),...(value_listn)。
将查询结果插入表中
Insert可以将select语句查询的结果插入到表中。
语法格式:
insert into table_name1(column_list1) select(column_list2) from table_name2 where (condition)
insert into bookcategory select * from test where id>5;将表test中ID>5的数据插入表bookcategory中
设置自动编号
设置表的属性值自动增加
列名 数据类型 auto_increment
数据类型(任何整数类型)
在创建表时用 列名 数据类型 auto_increment;
在插入数据时,指定自动编号的列不需要加入值;可以设置默认自动增加的初值auto_increment=n
create table book(
book_id int primary key auto_increment,
book_name varchar(20) not null,
)auto_increment=5;
为有的表添加自增列
alter table bookcategory modify book_id int auto_increment;
设置默认初始值
alter table bookcategory auto_increment=x;
去掉自增列
alter table bookcategory modify category_id int;(保持原来的编号)
show create table table_name;查看表中各数据结构(可以查看外键名、列的数据类型、约束条件)
单表数据记录的更新
Mysql中使用update语句更新表中的记录;
更新特定行
update table_name set col_name = value1,col_name2=value2,...,col_namen=valuen
where(condition);
更新所有的行
update readerinfo set balance=balance-79.8*0.05 where card_id='2015201';字符串用单引号
单表记录的删除
使用delete语句删除满足条件的记录,语法格式:
delete from table_name where condition;(不加条件,删除表中所有的数据)
delete from bookinfo where id=5;(删除表中id=5所在行的所有数据)
单表记录的删除(删除表,并创建一个新的表)
truncate table table_name;
单表数据记录查询select
查询所有列select * from table_name;
查询指定列 select 列1,列2 from table_name;
查询有条件的列
select * from table_name where id = 5;(查询id=5所在行的信息)
查询结果不重复(用关键字distinct消除重复的记录值)
select distinct 列名 from 表名;
查询空值
select语句使用is null 子句,查询某列内容为空记录。
select * from readerinfo(表名) where age(列名) is null;
分组查询
是对某个或多个列进行分组
group by 列名 having 条件表达式
group by 通常和聚合函数一起使用,列如:max(),min(),sum(),avg(),count()统计个数.
select count(*) from readerinfo where sex='男';统计性别男有多少人
select sex,count(*) from readerinfo group by sex;
使用having过滤分组
having 条件表达式
having限定显示记录所需满足的条件,只有满足条件的分组才会被显示
select sex from readerinfo group by sex having count(sex)>2;
select sex from reader_info group by sex;统计性别有多少组,男,女两组
select sex,count(*) from readerinfo group by sex;统计性别有多少组,并显示两组性别有多少人
对查询结果排序
order by 列名[asc|desc] asc升序 desc降序
单列排序
select * from bookinfo order by price;默认升序
多列
select * from bookinfo order by price,store;
指定方向排序
select * from bookinfo order by price asc,store desc;
通过limit限制查询结果的数量
limit可以返回指定位置的记录
limit [位置偏移量,] 行数
第一个记录的位置偏移量为0,第二条为1,...以此类推。
显示图书信息表的前三行。0
select * from bookinfo limit 3;
显示从第3条记录开始后的2条图书信息记录。
select * from bookinfo limit 2,2;
领取专属 10元无门槛券
私享最新 技术干货