dml(data manipulation language)資料操縱語言:
涉及到的關鍵字:insert update delete
對錶中的資料的增刪改
#dml語言
#一、資料的插入
/*語法:
插入單行:
insert into 表名(欄位名1,欄位名2 ,...) values (值1,值2,...);
插入多行:
insert into 表名(欄位名1,欄位名2 ,...) values
(值1,值2,...),(值1,值2,...),(值1,值2,...);
特點: 1、欄位和值列表一一對應
包含型別、約束等必須匹配
2、數值型的值,不用單引號
非數值型的值,必須使用單引號
3、字段順序無要求
*/#一)插入單行
#案例1:要求欄位和值列表一一對應,且遵循型別和約束的限制
insert into `stuinfo`(`stuid`,`stuname`,`stugender`,`email`,`age`,`majorid`)
values(1,'熊紅','男','[email protected]',12,1);
insert into `stuinfo`(`stuid`,`stuname`,`stugender`,`email`,`age`,`majorid`)
values(2,'吳京','男','[email protected]',45,1);
insert into `stuinfo`(`stuid`,`stuname`,`stugender`,`email`,`age`,`majorid`)
values(3,'李宗盛','男','[email protected]',45,2);
#案例2:可以為空欄位如何插入
#方案1:欄位名和值都不寫
insert into `stuinfo`(`stuid`,`stuname`,`email`,`majorid`)
values(4,'齊秦','[email protected]',1);
#方案2:欄位名寫上,值使用null
insert into `stuinfo`(`stuid`,`stuname`,`stugender`,`email`,`age`,`majorid`)
values(5,'齊與','女','[email protected]',null,2);
#案例3:預設字段如何插入
#方案1:欄位名寫上,值使用default
insert into `stuinfo`(`stuid`,`stuname`,`stugender`,`email`,`majorid`)
values(6,'齊小雨',default,'[email protected]',2);
#方案2:欄位名和值都不寫
insert into `stuinfo`(`stuid`,`stuname`,`email`,`majorid`)
values (7,'齊小','[email protected]',2);
#案例4:可以省略字段列表,預設所有字段
insert into `stuinfo` value(8,'郭頂','女','[email protected]',32,1);
#二)插入多行
insert into `stuinfo` value(9,'郭多','男','[email protected]',32,1),(10,'郭餓','女','[email protected]',32,2);
-- ################設定自增長列
/*1、自增長列要求必須設定在乙個鍵上,比如主鍵或唯一鍵
2、自增長列要求資料型別為數值型
3、乙個表至多有乙個自增長列
*/#1、用圖形介面勾選自增
insert into `stuinfo` value(null,'小黃','女','[email protected]',32,1);
#2、通過**
create table gradeinfo(
gradeid int primary key auto_increment,
gradename varchar(20)
);select *from `gradeinfo`;
insert into `gradeinfo` values(null,'1年級'),(null,'2年級'),(null,'3年級');
insert into `gradeinfo`(`gradename`) values('4年級'),('5年級'),('6年級');
#二、資料的修改
/*語法:
update 表名 set 欄位名 = 新值,欄位名=新值,...
where 篩選條件;
*/#案例1:修改年齡<20的專業編號為2號,且郵箱更改為 [email protected]
update `stuinfo` set `majorid` = 2,`email` = '[email protected]'
where `age`<20;
#三、資料的刪除
/*方式1:delete語句
語法:delete from 表名 where 篩選條件;
一刪刪一行
方式2:truncate語句
語法:truncate table 表名;
刪除資料,不刪除表結構
*/select * from stuinfo;
#案例1:刪除姓李所有資訊
delete from stuinfo where stuname like '李%';
#案例2:刪除表中所有資料
truncate table stuinfo;
select * from gradeinfo;
delete from gradeinfo where gradeid = 8;
insert into gradeinfo(gradename)values('七年級'),('八年級');
#delete和truncate的區別
1、delete可以新增where條件
truncate不能新增where條件,一次性清除所有資料
2、truncate的效率較高
3、如果刪除帶自增長列的表,使用delete刪除後重新插入資料,記錄從斷點開始;
使用truncate刪除後重新插入資料,記錄從1開始
4、delete刪除資料,會返回受到影響的行數
truncate刪除資料,不返回受影響的行數
5、delete刪除資料,可以支援事務回滾
truncate刪除資料,不支援事務回滾
Mysql筆記之(十一)DML語言
2.方式二 兩種方式pk 二 修改語句 三 刪除語句 資料操作語言 插入 insert 修改 update 刪除 delete 語法 1.方式一 insert into 表名 列名,values 值1,2.方式二 insert into 表名 set 列名 值,列名 值,列名 值,insert in...
MySQL學習筆記 三 DML語言
dml data manipulate language資料操作語言 1.方式一 insert into 表名 欄位名,values 值.特點 1.要求值的型別和字段的型別要一致或相容 2.欄位的個數和順序不一定與原始表中的字段個數和順序一致,但必須保證值和字段一 一對應 3.假如表中有可以為nul...
MySQL筆記 資料操縱語言DML
insert intotable name 列1,列2,values 值1,值2,第二條 第三條 注 1 如果表中的每一列均有資料插入,則可不用指定任何表名 insert into 表名稱 values 值1,值2,2 若要插入多行資料可以結合union all語句。update 表名 set 列名...