第6节-MySQL表增、删、改
1、测试表结果
create table student( sno varchar(20) primary key, sname varchar(20), sex enum('男','女'), age int, sdept varchar(20) );
2、增
2.1、单条插入
insert into student(sno,sname,sex,age,sdept) values('95001','测试1','男',18,'计算机系'); -- 或者 下面字段必须要表格的结构字段排列一致 insert into student values('95002','测试2','男',19,'计算机系');
2.2、多条插入
insert into student(sno,sname,sex,age,sdept) values('95003','测试3','男',28,'计算机系'),('95004','测试4','女',29,'计算机系');
2.3、复制表数据
-- 复制表结构 create table student_copy like student; -- 查询复制数据 insert into student_copy select * from student;
2.4、使用replace插入数据
-- repalce介绍:使用repalce时,首先尝试插入到数据表中,若检测表中已经有记录(通过主键或唯一约束判断),则先删除此记录,然后再插入新的数据 -- 修改前的数据: mysql> select * from student; +-------+---------+------+------+--------------+ | sno | sname | sex | age | sdept | +-------+---------+------+------+--------------+ | 95001 | 测试1 | 男 | 18 | 计算机系 | | 95002 | 测试2 | 男 | 19 | 计算机系 | | 95003 | 测试3 | 男 | 28 | 计算机系 | | 95004 | 测试4 | 女 | 29 | 计算机系 | +-------+---------+------+------+--------------+ replace into student(sno,sname,sex,sdept) values('95003','测试3','男','计算机系'); -- 修改后的数据: mysql> select * from student; +-------+---------+------+------+--------------+ | sno | sname | sex | age | sdept | +-------+---------+------+------+--------------+ | 95001 | 测试1 | 男 | 18 | 计算机系 | | 95002 | 测试2 | 男 | 19 | 计算机系 | | 95003 | 测试3 | 男 | NULL | 计算机系 | | 95004 | 测试4 | 女 | 29 | 计算机系 | +-------+---------+------+------+--------------+
3、改
3.1、修改单列
update student set ssex='男' where sno='95001';
3.2、修改多列
update student set ssex='女',age=25 where sno='95001';
3.3、concat函数的使用
-- 主要作用是链接字符串,这里sdept开头,增加'学院-' update student set sdept=concat('学院-',sdept) where sno='95001';
4、删
4.1、删除数据
delete from score where sno='95001';
4.2、删除整张表【注意:谨慎操作】
delete from score; -- truncate 会删除自增长的记录,置为0,重新开始 truncate score;