一、介紹
-
DDL(Data Definition Language 數據定義語言)
DDL用於操作對象和對象的屬性,這種對象包括數據庫本身,以及數據庫對象,像:表、視圖等等,DDL對這些對象和屬性的管理和定義具體表現在Create、Drop和Alter上。特別注意:DDL操作的“對象”的概念,”對象“包括對象及對象的屬性,而且對象最小也比記錄大個層次。以表舉例:Create創建數據表,Alter可以更改該表的字段,Drop可以刪除這個表,從這裏我們可以看到,DDL所站的高度,他不會對具體的數據進行操作。
-
DML(Data Manipulation Language 數據操控語言)
DML用於操作數據庫對象中包含的數據,也就是說操作的單位是記錄。常見操作就是對數據的增刪改查。
二、常用語句
1. 修改表:alter table
1.1 新增表字段
-- 新增一個字段
ALTER TABLE tableName ADD COLUMN path_detail varchar comment '描述';
-- 新增多個字段
ALTER TABLE tableName
ADD COLUMN path_detail varchar comment '各路徑節點詳細信息',
ADD COLUMN standard_time int comment '標準時效,12、24、36...120';
-- 在某字段之後增加一個字段
alter table tableName add column fild varchar(20) nou null after tableB
-- 增加字段,並把該字段放到表的最前面
alter table tableName add column fild varchar(20) nou null first
1.2 修改表名稱
RENAME TABLE People TO Users;
2. 刪除表
// 截斷表 (清空表中的所有數據,包括此時表自增id的步數)
truncate table tableName;
// 刪除表數據
DELETE FROM tableName;
// 刪除表空間(包括表結構、數據)
drop table tableName;
1. 插入數據
1.1 爲表的所有字段插入記錄
insert into table_name values (value_list);
1.2 爲表的指定字段插入數據
insert into table_name (column_list) values (value_list);
1.3 批量插入數據(比一條一條地插入效率高)
insert into table_name (column_list) values (value_list1),(value_list2);
1.4 將查詢結果插入到表中(不用values關鍵字)
insert into table_name1 (column_list1) select (column_list2) from table_name2 where (condition);
column_list1需要和column_list2的字段個數相同,數據類型相同。
2. 修改數據
2.1 按條件更新數據
update table_name
set column_name1 = value1,
column_name2 = value2
where (condition);
更新多個字段使用逗號分隔,無需使用多個set關鍵字
2.2 按其他字段值,更新本字段值
UPDATE users
SET age = CASE id
WHEN 1 THEN
11
WHEN 2 THEN
22
WHEN 3 THEN
33
ELSE
50
END;
當id爲1時更新age爲11;當id爲2時,更新age爲22
再看個更靈活的:case後面直接跟when
UPDATE users
SET age = CASE
WHEN id = 1 THEN
2
WHEN id > 2 THEN
50
END;
如果沒有else,匹配不到條件時,更新的值即爲null。
3. 刪除數據
3.1 刪除表中的數據
delete from table_name where (condition);
3.2 截斷表(直接刪除原來的表並創建一個結構相同的新表)
truncate table table_name;