一、插入数据
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操作隐式提交,不可以回滚
四.图形化界面操作数据