Day027 MySQL 对表中数据的操作

一、插入数据

1.为所有字段插入数据

语法:

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


例如:

--创建一张表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,"张三",18,"男","zhangsan@163.com")

--表后面不写字段名,则插入的值顺序与表结构要相同

insert into student values(2,"李四",20,"女","lisi@163.com")

--查询表student中的数据

select * from student


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

2.为指定字段插入数据

语法:

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

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

insert into student(sno,sname,age) values(3,"王五",19)


3.使用SET方式插入数据

语法:

insert [into] 表名 set 字段名1=字段值[,字段名2=字段值2....];

例如:

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

insert student set sno=4,sname="赵六",age=22,email="zhaosi@163.com",sex="女"

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

insert student set sname="小小",age=21,email="xiaoxiao@163.com"


4.同时插入多条数据

语法:

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


例如:--给表student同时插入多条数据

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

insert into student(sno,sname,age,sex,email)

values(5,"六六",16,"女","liuliu@163.com"),

(8,"小七",17,"男","xiaoqi@163.com"),

(10,"小染",18,"女","xiaoran@163.com")

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

insert into student(sno,sname,age) values(11,"丑丑",15),(12,"小美",15)


5.插入查询结果

语法:

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

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


例如:

--将student表中的数据查询结果插入到t_student表

--创建t_student表

create table t_student(

sno int(8) primary key auto_increment,

sname varchar(20) not null,

age int(2),

sex varchar(1) default "男",

email varchar(30) unique

)

--使用插入查询结果插入数据

insert t_student(sno,sname,age,sex) select sno,sname,age,sex from student where sex="女"


二.更新数据

1.更新指定数据

语法:

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


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

update student set sname="张老大" where sname="张三"


2.更新全部数据

语法:

update 表名 set 字段名1=值1 [,字段名2=值2....]


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

update student set age=18


三.删除数据

1.删除指定数据

语法:

delete from 表名 where 条件

例如:--删除sno学号大于12的学生信息

delete from t_student where sno>12


2.删除全部数据

语法:

delete from 表名

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

delete from t_student


3.truncate关键字删除数据

语法:

truncate 表名

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

truncate t_student


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

(1).delete是数据操纵语言DML

而truncate是数据定义语言DDL

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

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

truncate的效率比delete高

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


(4).delete删除记录后,再次向表添加数据,自增的值会在原来最大值+1。

truncate删除记录后,会从1开始自增


(5).delete操作可以进行回滚。

truncate操作隐式提交,不可以回滚


四.图形化界面操作数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值