MySQL的DDL和DML操作語法

努力--坚持發表於2024-07-27

  一、SQL分類


  SQL ,英文:Structured Query Language,結構化查詢語言。是用於操作關係型資料庫的程式語言。SQL定義操作所有關係型資料庫的統一標準,可以使用SQL操作所有的關係型資料庫管理系統,以後工作中如果使用到了其他的資料庫管理系統,也同樣的使用SQL來操作。

SQL的分類:

  1). DDL(Data Definition Language) : 資料定義語言,用來定義資料庫物件:資料庫,表,列等。DDL簡單理解就是用來運算元據庫,表等

  2). DML(Data Manipulation Language) 資料操作語言,用來對資料庫中表的資料進行增刪改

DML簡單理解就對錶中資料進行增刪改

  3). DQL(Data Query Language) 資料查詢語言,用來查詢資料庫中表的記錄(資料)

DQL簡單理解就是對資料進行查詢操作。從資料庫表中查詢到我們想要的資料。

  4). DCL(Data Control Language) 資料控制語言,用來定義資料庫的訪問許可權和安全級別,及建立使用者。DML簡單理解就是對資料庫進行許可權控制。比如我讓某一個資料庫表只能讓某一個使用者進行操作等。

> 注意: 以後我們最常操作的是 `DML` 和 `DQL` ,因為我們開發中最常操作的就是資料。

  二、MySQL的DDL操作語法
(一)DDL運算元據庫
DDL來運算元據庫。而運算元據庫主要就是對資料庫的增刪查操作。

1)查詢所有的資料庫

--查詢所有的資料庫
SHOW DATABASES;

2)建立資料庫:

語法:

      
--建立資料庫
  CREATE DATABASE 資料庫名稱;

  CREATE DATABASE IF NOT EXISTS 資料庫名稱;


而在建立資料庫的時候,我並不知道db1資料庫有沒有建立,直接再次建立名為db1的資料庫就會出現錯誤。
從上面的效果可以看到雖然db1資料庫已經存在,再建立db1也沒有報錯,而建立db2資料庫則建立成功。

3)刪除資料庫

     --刪除資料庫 

 DROP DATABASE 資料庫名稱;
 
 DROP DATABASE IF EXISTS 資料庫名稱;   -- 刪除資料庫(判斷,如果存在則刪除)


4)使用資料庫
資料庫建立好了,要在資料庫中建立表,得先明確在哪兒個資料庫中操作,此時就需要使用資料庫。
使用資料庫 語法:

--使用資料庫
USE 資料庫名稱;


5)檢視當前使用的資料庫

語法:

--檢視當前使用的資料庫
SELECT DATABASE();

SELECT DATABASE();
(二)操作表
操作表也就是對錶進行增(Create)刪(Retrieve)改(Update)查(Delete)。

1)查詢當前資料庫下所有表名稱

--查詢當前資料庫下所有表名稱
SHOW TABLES;

2查詢表結構

--查詢表結構
DESC 表名稱;

3)建立表

語法:

CREATE TABLE 表名 (
    欄位名1  資料型別1,
    欄位名2  資料型別2,
    …
    欄位名n  資料型別n
);
--注意:最後一行末尾,不能加逗號
 
--demo:
create table tb_user (
    id int,
    username varchar(20),
    password varchar(32)
);


4) 刪除表

刪除表語法:

--刪除表
 
DROP TABLE 表名;
 
--刪除表時判斷表是否存在
 
DROP TABLE IF EXISTS 表名;


5)修改表

修改表語法:

1.修改表名

-- 修改表名
ALTER TABLE 表名 RENAME TO 新的表名;
 
-- 將表名student修改為stu
alter table student rename to stu;


2.新增一列

-- 新增一列
ALTER TABLE 表名 ADD 列名 資料型別;
 
-- 給stu表新增一列address,該欄位型別是varchar(50)
alter table stu add address varchar(50);


3.修改資料型別

-- 修改資料型別
ALTER TABLE 表名 MODIFY 列名 新資料型別;
 
-- 將stu表中的address欄位的型別改為 char(50)
alter table stu modify address char(50);


4.修改列名和資料型別

-- 修改列名和資料型別
ALTER TABLE 表名 CHANGE 列名 新列名 新資料型別;
 
-- 將stu表中的address欄位名改為 addr,型別改為varchar(50)
alter table stu change address addr varchar(50);


5.刪除列

-- 刪除列
 
ALTER TABLE 表名 DROP 列名;
 
-- 將stu表中的addr欄位 刪除
alter table stu drop addr;


三、MySQL的DML操作語法
DML主要是對資料進行增(insert)刪(delete)改(update)操作。

1)新增資料
語法:

        --給指定列新增資料 語法:
        INSERT INTO 表名(列名1,列名2,…) VALUES(值1,值2,…);
 
        --給全部列新增資料 語法:
        INSERT INTO 表名 VALUES(值1,值2,…);
 
        --批次新增資料 語法:
        INSERT INTO 表名(列名1,列名2,…) VALUES(值1,值2,…),(值1,值2,…),(值1,值2,…)…;
        INSERT INTO 表名 VALUES(值1,值2,…),(值1,值2,…),(值1,值2,…)…;


Demo:

-- 給指定列新增資料
INSERT INTO stu (id, NAME) VALUES (1, '張三');
-- 給所有列新增資料,列名的列表可以省略的
INSERT INTO stu (id,NAME,sex,birthday,score,email,tel,STATUS) VALUES (2,'李四','','1999-11-11',88.88,'lisi@ccc.cn','13888888888',1);
 
INSERT INTO stu VALUES (2,'李四','','1999-11-11',88.88,'lisi@ccc.cn','13888888888',1);
 
-- 批次新增資料
INSERT INTO stu VALUES 
    (2,'李四','','1999-11-11',88.88,'lisi@ccc.cn','13888888888',1),
    (2,'李四','','1999-11-11',88.88,'lisi@ccc.cn','13888888888',1),
    (2,'李四','','1999-11-11',88.88,'lisi@ccc.cn','13888888888',1);


2)修改資料
修改表資料 語法:

   --修改表資料
     UPDATE 表名 SET 列名1=值1,列名2=值2,… [WHERE 條件] ;

注意:

修改語句中如果不加條件,則將所有資料都修改!

Demo:

-- 將張三的生日改為 1999-12-12 分數改為99.99
update stu set birthday = '1999-12-12', score = 99.99 where name = '張三';


3) 刪除資料

刪除資料 語法:

--刪除資料
DELETE FROM 表名 [WHERE 條件] ;

--刪除資料
DELETE FROM 表名 [WHERE 條件] ;


Demo:

-- 刪除張三記錄
delete from stu where name = '張三';
 
-- 刪除stu表中所有的資料
delete from stu;



相關文章