基本的概念:crud操作,表示是增删改查. c[create] / r[read] / u[update] /d[delete] 。
下面的案例都以该表为基础:
--创建表 create table staff( id int not null default 1 comment "序列号", name varchar(5) not null default '保密' comment '姓名', sex enum('男','女','保密') not null default '保密' comment '性别', birthday date comment '生日', entry_date date comment '入职日期', station varchar(20) not null default '保密' comment '职位', salary decimal(10,2) unsigned not null default 0 comment '薪资', resume text comment '文章' )charset=utf8 engine=myisam;
insert语句:
概念:基本的概念就是将数据添加到某个表中
基本说明:
(1) 添加数据时,可以一条insert 语句可以添加多少记录
(2) 在添加时,可以指定字段名称
案例演示:
--插入数据 insert into `staff` value(6,'老王',1,'1976-9-8','2014-5-18','保洁',3900.00,' '); insert into `staff` value(10,'小明',1,'1992-7-16','2016-5-18','工程师',13000.00,' '); --插入的数据可以指定需求的属性 同时插入多条语句 insert into `staff` (id,name,sex,entry_date,station,salary) values (2,'老张',1,'2006-7-8','副总',50000), (18,'小李',2,'2016-2-28','文员',4000), (21,'小刘',2,'2018-9-15','前台',4000);
insert 细节-使用注意事项:
(1) 插入的数据应与字段的数据类型相同
(2) 数据的大小应在字段的规定范围内
(3)在values中列出的数据位置必须与被加入的列的排列位置相对应
(4)字符和日期型数据应包含在单引号中
(5)插入空值[前提是该字段允许为空]
(6)insert into values (),(),() 形式添加多条记录
(7)如果是给表中的所有字段添加数据,可以不写前面的字段名称, 如果你只是给部分字段添加值,则必须指定列名(没有指定的列名必须有默认值否则会报错)
(8)建议我们以后添加数据,都给我把 '' 引起了 如果我们以后在开发中,不知道是否需要将 值 '' 引起来,则''引起来就可以了。
update语句:
基本概念:update语句就是修改数据的
说明:
(1) update 可以一次性的修改多个字段
(2) update 可以通过where子句来挑选哪些记录可以被修改
(3) update 修改字段是,可以是表达式(函数)
--将所有员工的salary改为5000 update `staff` set salary = 5000; --将老张的salary改为15000 update `staff` set salary = 15000 where name = '老张'; --将工程师的salary改为12000 update `staff` set salary = 12000 where station = '工程师'; --将老王的工资在原有的基础上减少1000; update `staff` set salary = salary - 1000 where name = '老王'; --将小李的工资改为5500station改为专员; update `staff` set salary = 5500,station = '专员' where name = '小李';
delete语句:
说明: delete 语句可以删除我们希望删除的记录, 通过where子句来选择你要删除的记录,如果你不写,整个表的记录都全部删除了.
delete 和 truncate 语句区别 :
(1) delete 和 truncate 都可以删除数据.
(2) 从执行的速度上看 , truncate > delete
(3) delete语句可以带where子句,truncate 不能带where, 即truncate 指令只能删除整表的记录
(4) delete 会返回删除的记录数,而truncate 返回0
--删除小明的信息 delete from `staff` where name = '小明'; --删除工资高于10000的人员 delete from `staff` where salary > 10000;
小技巧:复制表staff到staff1中
create table `staff1` like `staff`; insert into `staff1` select * from `staff`;