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` 

 

posted @ 2020-09-23 20:41  凸然猿  阅读(136)  评论(0编辑  收藏  举报