1.數據操縱語言(dml)
數據操縱語言全稱是data manipulation language,簡稱是dml。dml主要有四個常用功能,如下表所示,其中dml中的查詢功能是作為一名數據分析師常用的操作。查詢知識會穿插在之后的所有文章中講述,因為這個問題不是一下子可以講的完的。今天的文章主要是講述增、刪、改這幾個技能的用法。
增 | 刪 | 改 | 查 |
---|---|---|---|
insert | delete | update | select |
下面的操作都是基于這個student表進行的。
1
2
3
4
5
6
7
8
9
10
|
# 創建數據庫 create database if not exists stu; # 使用數據庫 use stu; # 創建一個表 create table student( sid int primary key auto_increment, sname varchar (20) not null , sex varchar (10) )charset=utf8; |
2.增添數據(insert)
1
2
3
4
5
6
7
8
9
10
11
12
|
情況一:給全部字段添加數據; -- 有以下兩種添加方式:當給所有字段插入數據的時候,可以不寫字段名。 insert into student(sid,sname,sex) values (1, "張三" , "男" ); insert into student values (2, "李莉" , "女" ); 情況二:給部分字段添加數據; insert into student(sname) values ( "王五" ); insert into student(sname,sex) values ( "趙六" , "男" ); 情況三:一次性插入多條數據; insert into student(sname,sex) values ( "劉備" , "男" ),( "貂蟬" , "女" ),( "諸葛亮" , "男" ); |
結果如下:
3.復制已有表,生成新表
1)復制已有表的結構和數據。
1
2
|
"創建一個student1表,表的結構和數據均來自于student表。" mysql> create table student1 select * from student; |
操作結果如下:
2)只復制已有表的結構(得到的是一個空結構表)。
1
2
|
"創建一個student2表,只復制student表的結構,不要里面的數據。" mysql> create table student2 select * from student where 0; |
操作結果如下:
3)在2的基礎上,向空結構表中插入數據。
1
2
|
"在2基礎上,向student2表中插入數據,數據來自于student表" mysql> insert into student2 select * from student; |
操作結果如下:
4.修改數據update
update和delete語句要配合where篩選,進行使用,否則刪除的就是整張表的記錄。
1
2
3
4
5
6
7
8
|
"語法格式:多個列之間用逗號隔開" update 表名 set 列1=值1 [列2=值2,列3=值3…… ] where 條件; "演示示例如下" -- 把sid為3的王五的姓名,改為王八。 update student set sname= "王八" where sid = 3; -- 把sid為7的諸葛亮的名字改為孔明,性別改為猛男。 update student set sname= "孔明" ,sex= "猛男" where sid=7; |
操作結果如下:
5.刪除數據delete:物理刪除(一旦刪除就徹底沒有了)。
update和delete語句要配合where篩選,進行使用,否則刪除的就是整張表的記錄。
1
2
3
4
5
|
"語法格式:" delete from 表名 where 條件; "演示示例如下" delete from student where sname= "張三" ; |
操作結果如下:
6.truncate和delete的區別
用如下數據講述這兩個的區別:
1)delete
2)truncate
3)truncate和delete的區別
① 都是不修改結構,只清除數據。
② delete刪除不釋放資源,truncate釋放表占用的空間(會重置主鍵自增)
③ delete是逐行刪除,刪除記錄是作為事務記錄在日志文件中,可進行回滾操作。truncate一次性刪除表中所有數據,刪除記錄不會記錄在日志文件中,無法恢復,刪除效率高于delete。
以上就是mysql教程dml數據操縱語言示例詳解的詳細內容,更多關于dml數據操縱語言的資料請關注服務器之家其它相關文章!
原文鏈接:https://huang-tong-xue.blog.csdn.net/article/details/106818862