Mysql基础:DML(重要)
前言
数据库意义:数据存储,数据管理
DML语言:数据操作语言
eg:insert
update
delete
一.insert(添加)
-- 插入数据 -- insert into 表名([字段名1,字段名2,字段名3]) values ('值1'),('值2'),('值3') INSERT into `grade`(`gradename`) VALUES ('大四') -- 由于主键自增,可以省略(如果不写表的字段,它就会一一匹配) INSERT into `grade`(`gradename`) VALUES ('大三') -- 因此,一般写插入语句,一定要字段和数据一一对应 -- 一个字段插入多个数据 INSERT INTO `grade`(`gradename`) VALUES('大二'),('大一') insert INTO `student`(`name`) value('张三') insert INTO `student`(`name`,`pwd`,`sex`) value('张三','aaaaaa','男') insert INTO `student`(`name`,`pwd`,`sex`) value('张三','aaaaaa','男'),('十三','aaaaaa','女')
-- 注意:
1.字段和字段之间使用 英文逗号 隔开
2,字段的可以省略的,但后面的值必须一 一对对应
3.克同时插入多条数据,values后的值需要逗号隔开,eg:values(),()....
二 ,修改(update)
-- 修改 -- update 修改谁(条件) set原来的值=新值 -- 修改学员的名字 UPDATE `student` SET `name`='king' WHERE id=3; --不指定条件的情况下,会改动所有的表! UPDATE `student` SET `name`='king' -- 修改多个属性 UPDATE `student` SET `name`='kkk',`email`='666@qq.com' WHERE id=4; -- 通过多个条件定位数据 UPDATE `student` SET `brithday`=CURRENT_TIME WHERE `name`='king' AND sex='男' SELECT * FROM `student` -- 语法: -- update 表名 set colnum_name=value,[colnum_name=value,....] where [条件] -- 条件:where子句 运算符 id等于某个值,大于某个值(相当于在某个区间内修改)
三,删除(delete)
-- 删除(delete) --语法:DELETE FROM 表名 [where 条件]; DELETE FROM `student` WHERE id=1; -- 清空命令(truncate) -- 作用:完全清空一个数据库,表的结构和索引约束不会变 TRUNCATE `student` -- delete 和 truncate 区别 -- 相同点:都删除数据,都不会删除表结构 -- 不同:truncate 重新设置 自增列 计数器会归零 -- c truncate 不会影响事务 -- 测试delete和truncate CREATE TABLE `test`( `id` INT(4) not NULL auto_increment, `coll` VARCHAR(20) NOT NULL, PRIMARY KEY (`id`) )ENGINE=INNODB DEFAULT charset=utf8 INSERT INTO `test`(`coll`) VALUES('1'),('2'),('3') DELETE FROM `test` TRUNCATE `test` -- 注意:delete删除问题,重启数据库,现象 -- INNODB 自增列会从1开始(存在内存中,断电就会消失) -- MyISAM 继续从上一个自增量开始(存在文件中,不会丢失) SELECT * FROM `test`