mysql之数据操作
第一章 添加数据
通常向表中添加数据应该包含表中的所有字段,即为表中所有字段添加数据。但也可不包含所有字段来添加数据
1.1、所有字段
按照所有字段来添加数据,有两种方式:
语法1:
insert into 表名(所有字段) values(字段对应的值);
语法2:
insert into 表名 values(值);
由于语法2 没有指定字段名,所以添加的值顺序需要与表中字段顺序一致
。
案例实操:现在有一张表 book ,表中有 bid:书编号,bname:书名,author:作者,现需要往表中插入这些数据:
表:
create table book(
bid int primary key auto_increment,
bname varchar(10) not null,
author varchar(10) not null);
1,我在北京送快递,胡安焉
2,白鸟与蝙蝠,东野圭吾
3,大医·日出篇,马伯庸
4,平原上的摩西,双雪涛
语法1 插入 1,2;语法2 插入 3,4
语法1:
insert into book(bid,bname,author) values(1,'我在北京送快递','胡安焉');
insert into book(bid,bname,author) values(2,'白鸟与蝙蝠','东野圭吾');
语法2:
insert into book values(3,'大医·日出篇','马伯庸');
insert into book values(4,'平原上的摩西','双雪涛');
通过查询语句结果如下:
查询语句:
select * from book;
在语法1 情况下,表中字段顺序可以无序,但要求是 字段与所添加的值
要对应。
1.2、指定字段
语法:
insert into 表名(字段1,字段2,字段3,字段4.........) values(值1,值2,值3,值4.......);
案例操作:在上述案例操作中,我们向表中添加了 4 条数据,现向表中添加:故事只讲了一半,万玛才旦
insert into 表名(bname,author) values('故事只讲了一半','万玛才旦');
注意:当表中字段约束为:not null 时,插入数据如果省略,则会报错。
当我们某些列设置了自增约束:auto_increment 时,可以通过下述命令添加数据:
insert into 表名 values(null,值,值......);
例如 book 表中,bid 设置了自增约束,则可以这样:
insert into book values(null,'故事只讲了一半','万玛才旦');
1.3、同时添加多条记录
当我们需求很多时,有多少数据,则会写多少次 插入语句,比较麻烦。而 mysql 中提供了这样的语法,可以同时插入多条数据:
insert into 表名[(字段.....)] values
(值1,值2,值3,.....),
(值1,值2,值3,.....),
(值1,值2,值3,.....),
..................
(值1,值2,值3,.....);
最后的使用分号表示结束。[]:中的表示可选项
案例实操:向 book 表中同时插入多条数据:
insert into book values
(null,'*时代','傅高义'),
(null,'论持久战','毛东'),
(null,'中国历代政治得失','钱穆');
对于不添加数据的字段,如果约束不为 not null,则会赋值为 null
第二章 修改数据
更改数据是对表中存在的记录进行修改,当数据需要改变时,就需要进行修改了。
语法:
update 表名 set 字段=值[,字段1=值1.....] [where 条件表达式]
[]:可选项
2.1、更改指定数据
例如需要对 bid 为 1 的数据进行修改:
update book set bname='小镇喧嚣',author='吴毅' where bid=1;
2.2、更改部分数据
例如将 bid 小于 4 的 author 修改为 '作家'
update book set author='作家' where bid < 4;
2.3、更改全部数据
例如将表中的数据的 author 设置为 '未知'
update book set author='未知';
第三章 删除数据
语法:
delete from 表名 [where 条件表达式];
[]:可选项,当满足条件表达式,则删除,否则不删。
3.1、删除指定数据
通过条件表达式完成。
语法:
delete from 表名 where 字段 = 值;
当表中字段 = 值 时,where 成立,则删除。
例如删除 book 表中的 bid=1的数据
delete from book where bid=1;
3.2、删除部分数据
通过条件表达式完成。
语法:
delete from 表名 where 条件表达式;
例如删除 book 表中前 4 个数据
delete from book where bid <= 4;
3.3、删除全部数据
语法:
delete from 表名;
例如删除 book 表中所有个数据
delete from book;