目錄
一、DML
1.介紹
2.插入陳述句
3.修改陳述句
4.洗掉陳述句(delete)
5.洗掉陳述句(truncate)
二、DDL
1.介紹
2.庫的管理
3.表的管理
三、DQL
一、DML
1.介紹
DML(Data Manipulation Language):資料操作語言,用來對表進行:添加、洗掉、修改等操作,
資料操作語言:
插入:insert
修改:update
洗掉:delete
2.插入陳述句
語法一
insert into 表名 (列名,...) values(值1,...);
-------------------------------------------------------------------------------------------------------------------------
語法二
insert into 表名
set 列名=值,列名=值,.......
兩種語法區別:
? 語法一支持插入多行,語法二不支持
? 語法一支持子查詢,語法二不支持
例1:insert into beauty(id,name,phone)
select 26,'宋茜','1193921';
例2:insert into beauty(id,name,phone)
select id,boyname,'1234567'
from boys where id<3;
講解:類似將查詢的結果集對應著列參一一傳入,而后插入至表
特點:
? 插入的值的型別要與列的型別一致或兼容
? 不可以為null的列必須插入值,可以為null的列可以直接不寫列名引數(在沒特定約束情況下值默認為null),或寫完列名引數后賦值為null;
? 列的順序可以調換
? 列數和值的個數必須一致且一一對應
? 可以省略列名,默認所有列,而且列的順序和表中列的順序一致
3.修改陳述句
? 修改單表記錄
語法:
update 表名 1
set 列=新值,列=新值.... 3
where 篩選條件 2
? 修改多表記錄
sql92語法:
update 表1 別名,表2,別名
set 列=值....
where 連接條件
and 篩選條件;
---------------------------------------------------------------------------------------------sql99語法:
update 表1 別名
inner|left|right join 表2 別名
on 連接條件
set 列=值....
where 篩選條件
4.洗掉陳述句(delete)
? 單表的洗掉
語法:
delete from 表名
where 篩選條件
? 多表的洗掉
sql92語法:
delete 表1的別名,別2的別名
from 表1 別名,表2 別名
where 連接條件
and 篩選條件;-------------------------------------------------------------------------------------------------------------------------
sql99語法:
delete 表1的別名,表2的別名
from 表1 別名
inner|left|right join 表2 別名
on 連接條件
where 篩選條件-------------------------------------------------------------------------------------------------------------------------
注意:
洗掉哪個表的記錄就在delete后寫哪個表的表名,2個表的相關記錄都洗掉則兩個表名都寫
5.洗掉陳述句(truncate)
? 語法:
truncate table 表名;
? truncate與delete的區別
● delete 可以加where條件,truncate不能加
● truncate洗掉,效率高一丟丟(不用考慮where);
● 假如要洗掉的表中有自增長列,
用delete洗掉后,再插入資料,自增長列的值從斷點開始
而truncate洗掉后,再插入資料,自增長列的值從1開始
● truncate洗掉沒有回傳值(只會顯示共0行受到影響),delete洗掉有回傳值(會顯示有幾行受影響)
● truncate洗掉不能回滾,delete洗掉可以回滾
二、DDL
1.介紹
DDL(Data Definition Language):資料定義語言,用來對資料庫或者表進行:創建、洗掉、修改等操作,
創建:create
修改:alter
洗掉:drop
2.庫的管理
? 庫的創建
語法:
create database 【if not exists】庫名
? 庫的修改
● 更改庫的字符集
alter database 庫名 character set 字符集名;
● 更改庫名
直接取檔案目錄下修改檔案名,一般不建議修改
? 庫的洗掉
語法:
drop database 【if exists】 庫名;
3.表的管理
? 表的創建
語法:
create table【if not exists】 表名(
類名 列的型別【(長度) 約束】,
類名 列的型別【(長度) 約束】,
類名 列的型別【(長度) 約束】
)
---------------------------------------------------------------------------------------------------------------------------
? 表的修改
● 修改列名
alter table 表名 change column 舊列名 新列名 新列的型別【(長度) 約束】;
● 修改列的型別或約束
alter table 表名 modify column 列名 新型別【(長度) 約束】;
● 添加新列
alter table 表名 add column 新列名 新列的型別【(長度) 約束】;
● 洗掉列
alter table 表名 drop column 列名;
● 修改表名
alter table 就表名 rename to 新表名;
? 表的洗掉
語法:
drop table【if existis】 表名;
? 表的復制
● 僅僅復制表的結構
create table copy1 like 被復制表名;
● 復制表的結構+資料
create table copy1 select * from 被復制的表名;
● 只復制部分資料
create table copy1
select 欄位名
from 被復制的表名
where 篩選條件;
● 僅復制某些欄位
create table copy1
select 欄位名
from 被復制的表名
where 1=2(條件永不成立即可);
三、DQL
DQL博主上篇博客已進行詳細介紹,點此跳轉
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/398477.html
標籤:其他
上一篇:如何洗掉WinFormsDataGrid中自動生成的空列?
下一篇:幕課在線辦公專案筆記——day2
