DML语言

数据库的意义:数据存储,数据管理

DML语言:数据操作语言

  • Insert
  • Update
  • Delete

插入命令:INSERT

语法:

插入一条记录:

insert into 表名([字段名1],[字段名2],[字段名3])

values (‘值1’,‘值2’,‘值3’)

插入多条记录:

insert into 表名([字段名1],[字段名2],[字段名3])

values (‘值1’,‘值2’,‘值3’),(‘值1’,‘值2’,‘值3’),(‘值1’,‘值2’,‘值3’),(‘值1’,‘值2’,‘值3’)

INSERT INTO `grade`(`gradename`) VALUES('大四')   --插入一条记录 
INSERT INTO `grade`(`gradename`) VALUES('大一'),('大四')   --插入多条记录 

INSERT INTO `student`(`name`,`pwd`) VALUES ('张三','123')

注意事项:

  1. 字段和字段之间使用 英文逗号 隔开

  2. 字段是可以省略的,但后面的值必须要一一对应,不能少

  3. 可以同时插入多条数据,VALUES后面的值,需要使用英文逗号隔开

  4. 在SQL-SERVER中,自增列属性不能直接修改值,但可以通过以下方式变向实现。如果仅仅是指定值插入,可用以下语句,临时取消

    SET IDENTITY_INSERT TableName ON
    INSERT INTO tableName(xx,xx) values(xx,xx)
    SET IDENTITY_INSERT TableName OFF

修改命令:update

语法:

UPDATE 表名 SET colnum_name = value,[colnum_name = value...] where [条件]
UPDATE `student` SET `name` = '路人甲'  WHERE id = 101     -- 修改id为101的学院的名字
UPDATE `student` SET `name` = '陌生人' -- 不带条件,全部人的名字都被修改

条件语句格式:WHERE 子句 运算符 id 等于 某个值,大于某个值,在某个区间修改

操作符会返回布尔值

操作符含义范围结果
=等于5=6false
<> 或 !=不等于5<>6true
>大于5>6false
<小于5<6true
<=小于等于5<=6true
>=大于等于5>=6false
BETWEEN a AND b在某个闭区间内[a,b]
AND5>1 AND 1>2false
OR5>1 AND 1>2true
--通过多个条件定位数据
UPDATE `student` SET name = '张三' WHERE name ='沙雕' AND sex = '男'

注意:

  1. colnum_name是数据库的列,尽量带上``
  2. 如果没有指定筛选的条件,则会修改所有的列
  3. vlaue可以是一个具体的值,也可以是一个变量,如
UPDATE 'student' SET 'brithday' = current_TIME WHERE 'name' = '张三' AND sex = '男'

删除命令:delete

语法:

delete from 表名 [where 条件]
--删除数据(避免这种写法,会删除所有数据)
DELETE FROM `student`

--删除指定数据
DELETE FROM `student` WHERE id = 1

truncate命令

作用:完全清空一个数据库表,表的结构和索引约束不会变

--清空student表
TRUNCATE `student`

delete与truncate的区别

  • 相同点:都能删除数据,都不会改变表的结构
  • 不同
    • TRUNCATE 重新设置自增列,计数器会归零
    • TRUNCATE 不会影响事务
--测试delete与truncate的区别
CREATE TABLE `test`(
    `id` INT(4) NOT NULL AUTO_INCREMENT,
    `name` VARCHAR(20) NOT NULL,
    PRIMARY KEY (`id`)
)ENGINE = INNODB DEFAULT CHARSET = utf8

INSERT INTO `test`(`name`) VALUES('张三'),('李四'),('王五')


DELETE FROM `test`    --计数器不桂林
TRUNCATE TABLE `test`   --计数器归零
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值