SQL中的DML 用于对表中的数据进行增删改操作
一.插入数据
1.语法格式
insert into
表名 (字段名
1
,字段名
2...
)
values
(
字段值
1
,字段值
2...);
(1)创建一个学生表
表名:
student
表中字段:
学员
ID, sid
int
姓名,
sname
varchar
(
20
)
年龄,
age
int
性别,
sex
char
(
1
)
地址,
address
varchar
(
40
)
#
创建学生表
CREATE TABLE
student(
sid
INT
,
sname
VARCHAR
(
20
),
age
INT
,
sex
CHAR
(
1
),
address
VARCHAR
(
40
)
);
(2)向学生表中插入数据,3种方式
方式
1
: 插入全部字段, 将所有字段名都写出来
INSERT INTO
student (sid,sname,age,sex,address)
VALUES
(
1
,
'张三
'
,
20
,
'
男
'
,
'北京
'
);
方式
2
: 插入全部字段,不写字段名
INSERT INTO
student
VALUES
(
2
,
'张三
'
,
10
,
'
男
'
,
'
地球
'
);
方式
3
:插入指定字段的值
INSERT INTO
category (cname)
VALUES
(
'李四
'
);
注意:
1)
值与字段必须要对应,个数相同
&
数据类型相同
2
)值的数据大小,必须在字段指定的长度范围内
3
)
varchar char date
类型的值必须使用单引号,或者双引号 包裹。
4
)如果要插入空值,可以忽略不写,或者插入
null
5)
如果插入指定字段的值,必须要上写列名
二:更改数据
1.
语法格式:
不带条件的修改
update
表名
set
列名
=
值
2.语法格式:
带条件的修改
update
表名
set
列名
=
值
[
where
条件表达式:字段名
=
值
]
1
)不带条件修改,将所有的性别改为女(慎用!!)
UPDATE
student
SET
sex =
'
女
'
;
2
)带条件的修改,将
sid
为
3
的学生,性别改为男
UPDATE
student
SET
sex =
'
男
'
WHERE
sid =
3
;
3
)一次修改多个列, 将
sid
为
2
的学员,年龄改为
20
,地址改为 北京
UPDATE
student
SET
age =
20
,address =
'
北京
'
WHERE
sid =
2
;
三:删除数据
1
:删除所有数据
delete from
表名
2
: 指定条件 删除数据
delete from
表名
[
where
字段名
=
值
]
1
)删除
sid
为
1
的数据
DELETE FROM
student
WHERE
sid =
1
;
2)
删除所有数据
DELETE FROM
student;
3)
如果要删除表中的所有数据
,
有两种做法
1. delete from
表名
;
不推荐
.
有多少条记录 就执行多少次删除操作
.
效率低
2. truncate table
表名
:
推荐
.
先删除整张表
,
然后再重新创建一张一模一样的表
.
效率高
如truncate table
student;