MySQL 表的数据操作常用命令总结

在这里插入图片描述


一、插入数据

1.为所有字段插入数据

语法:insert [into] 表名[(字段名1,字段名2,字段名3,....)] values|value(值1,值2,值3....);

例如:创建一张表 student(sno 主键自增 sname 非空 age sex 默认 男 email 唯一),然后为 student 表所有字段插入数据

-- 创建一张表 student(sno 主键自增 sname 非空 age sex 默认 男 email 唯一)
create table student(
	sno int(8) primary key auto_increment,
	sname varchar(20) not null,
	age int(2),
	sex varchar(1) default '男',
	email varchar(30) unique
);

-- 为 student 表所有字段插入数据
insert into student(sno,sname,age,sex,email) values(1,'张三',22,'男','[email protected]');

-- 查询表 student 中的数据
select * from student;

运行结果:
在这里插入图片描述

注意:表后面可以加字段名也可以不加字段名,如果没有添加字段名则插入的值顺序要与表结构字段顺序相同

-- 若后面不添加字段名则插入的值顺序要与表结构字段顺序相同
insert into student values(2,'李四',18,'男','[email protected]');

运行结果:

-- 若后面不添加字段名则插入的值顺序要与表结构字段顺序相同
insert into student values(2,'李四',18,'男','[email protected]');

运行结果:
在这里插入图片描述

2.为指定字段插入数据

语法:insert [into] 表名(字段名1,字段名2,字段名3,....) values|value(值1,值2,值3....);

例如:给表 student 中 sname 和 age 插入数据

-- 给表 student 中 sname 和 age 插入数据
insert into student(sname,age) values('王五',30);
select * from student;

运行结果:
在这里插入图片描述

3.使用SET方式插入数据

语法:insert [into] 表名 set 字段名1=字段值[,字段名2=字段值2…];

a.给所有字段插入多条数据

例如:使用 set 方式给 student 表所有字段插入数据

-- 使用 set 方式给 student 表所有字段插入数据
insert into student set sno=4,sname='赵六',age=23,email='[email protected]',sex='女';
select * from student;

运行结果:
在这里插入图片描述
b.给指定字段插入多条数据

例如:使用 set 方式给 student 表指定字段插入数据

-- 使用 set 方式给 student 表指定字段插入数据
insert into student set sname='小明',age=25,email='[email protected]';
select * from student;

运行结果:
在这里插入图片描述

4.同时插入多条数据

语法:

insert [into] 表名[(字段名1,字段名2,字段名3,....)] 
		values|value(1,2,3....),  
                    (1,2,3....),
					.......
					(1,2,3....);

例如:给表 student 同时插入多条数据
a.给所有字段插入多条数据

-- 给所有字段插入多条数据
insert into student(sno,sname,age,sex,email)
							values(6,'小红',19,'女','[email protected]'),
										(7,'小强',27,'男','[email protected]');
										
select * from student;

运行结果:
在这里插入图片描述

b.给指定字段插入多条数据

-- 给指定字段插入多条数据
insert into student(sname,age,sex)
						values('小丽',19,'女'),
									('文强',33,'男');
									
select * from student;

运行结果:
在这里插入图片描述

5.插入查询结果

语法:insert [into] 表名(字段名1,字段名2..) select 字段名1,字段名2... from 表 where 条件;

注意:插入表的字段和查询的字段个数和类型要保持一致

例如:将 student 表中的数据查询结果插入到 t_student 表
1.创建 t_student 表
2.使用插入查询结果插入数据

-- 将 student 表中的数据查询结果插入到 t_student 表
     -- 1.创建 t_student 表
		 create table t_student(
			sno int(8) primary key auto_increment,
			sname varchar(20) not null,
			age int(2),
			sex varchar(2) default '女',
			email varchar(30) unique
		 );
     -- 2.使用插入查询结果插入数据
		 insert into t_student select * from student;
		 
		 -- 查询 t_student
		 select * from t_student;

运行结果:
在这里插入图片描述

二、更新数据

1.更新指定数据

语法:update 表名 set 字段名1=值1 [,字段名2=值2....] where 条件;

例如:将 student 表中姓名为张三的姓名修改为"张老大"

-- 将 student 表中姓名为张三的姓名修改为"张老大"
update student set sname='张老大' where sname='张三';
select * from student;

运行结果:
在这里插入图片描述

2.更新全部数据

语法:update 表名 set 字段名1=值1 [,字段名2=值2....];

例如:将 student 表中年龄都修改为 18

-- 将 student 表中年龄都修改为 18
update student set age=18;
select * from student;

运行结果:
在这里插入图片描述

三、删除数据

1.删除指定数据

语法:delete from 表名 where 条件;

例如:删除 student 表 sno 学号大于 2 的学生信息

-- 删除 student 表 sno 学号大于 2 的学生信息
delete from student where sno>2;
select * from student;

在这里插入图片描述

2.删除全部数据

语法:delete from 表名;

例如:删除学生表 student 的全部数据

-- 删除学生表 student 的全部数据
delete from student;
select * from student;

运行结果:
在这里插入图片描述

3.truncate 关键字删除数据

语法:truncate 表名;

例如:删除 t_student 表中的全部数据

-- 删除 t_student 表中的全部数据
truncate t_student;
select * from t_student;

运行结果:
在这里插入图片描述

truncate 与 delete 删除全部记录的区别:

1.delete 是数据操纵语言 DML,而 truncate 是数据定义语言 DDL

2.delete 删除数据是一条一条删除

  • truncate 删除数据是保留表结构,直接删除数据,删除后表的状态相当于新表。

  • truncate 的效率比 delete 高。

3.delete 删除数据,会显示删除行数,truncate 不会显示。

4.使用 truncate 删除表数据,自增长 id 值会重新恢复到 1,而使用 delete 删除的话会接着之前的 id 值继续增长。

5.delete 操作可以进行回滚,truncate操作隐式提交,不可以回滚。

四、图形化界面操作数据

打开 MySQL 图形化管理工具 Navicat,选择表名右键 --> 点击打开表 --> 在空白字段下通过左下角的操作选项进行数据的添加和删除:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44214671/article/details/111637713
今日推荐