中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQL結構化查詢語——之DDL語言

發布時間:2020-08-06 19:30:36 來源:網絡 閱讀:320 作者:houzhihui 欄目:MySQL數據庫

一、SQL結構化查詢語言概述
SQL是關系型數據庫所使用的標準語言,最初是基于IBM的實現在1986年被批準的。1987年,“國際標準化組織(ISO)”把ANSI(美國國家標準化組織) SQL作為國際標準。
1. SQL語言規范

在數據庫系統中,SQL語句關鍵詞不區分大小寫(建議用大寫)

  • 數據庫的資源對象是區分大小寫的,如表、數據庫這類資源在操作系統中以獨立文件形來存儲,如果文件系統對文件命名區分大小寫則SQL語言內引用資源對象
  • 資源內的元素不區分大小寫,如:表的字段名稱不區分大小寫,因為在操作系統中不是獨立的文件。

SQL語句可單行或多行書寫,以“;”結尾。
關鍵詞不能跨多行或簡寫。
用空格和縮進來提高語句的可讀性(但并不強制)。
子句通常位于獨立行,便于編輯,提高可讀性()。

2. 注釋:

注釋類型 注釋符號 說明 標準
單行注釋 -- --與注釋內容之間有空格 SQL標準
多行注釋 /* 多行內容被/*包裹 SQL標準
單行注釋 # 多行內容被#包裹 MYSQL標準

3.SQL語言分類

  • >DDL: Data Defination Language 數據定義語言
    CREATE,DROP,ALTER
  • >DML: Data Manipulation Language 數據操縱語言
    INSERT,DELETE,UPDATE
  • >DQL:Data Query Language 數據查詢語言
    SELECT
  • >DCL:Data Control Language 數據控制語言
    GRANT,REVOKE,COMMIT,ROLLBACK

4.SQL語言幫助

  • 登錄SQL SEHLL中help加關鍵字即可查看幫助。

    例:mysql> HELP KEYWORD;

  • 登錄SQL SEHLL中輸入help contents;可以查看按類查看幫助。

    例:按類查看幫助
    MariaDB [hellodb]> help contents;
    You asked for help about help category: "Contents"
    For more information, type 'help <item>', where <item> is one of the following
    categories:
    Account Management
    Administration
    Compound Statements
    Data Definition
    Data Manipulation
    Data Types
    Functions
    Functions and Modifiers for Use with GROUP BY
    Geographic Features
    Help Metadata
    Language Structure
    Plugins
    Procedures
    Table Maintenance
    Transactions
    User-Defined Functions
    Utility

5.數據庫對象和命名

  • >數據庫的組件(對象):
    數據庫、表、索引、視圖、用戶、存儲過程、函數、觸發器、事件調度器等這些資源對象基本上在操作系統中有獨立的文件存儲。
  • >命名規則:
    必須以字母開頭,可包括數字和三個特殊字符(# _ $)
    不要使用MySQL的保留字
    同一database(Schema)下的對象不能同名

一、數據庫管理操作:
數據庫的管理操作包括:創建、修改、刪除、查看信息等操作

1. 查看字符集

show character set;

2. 查看數據庫

SHOW DATABASES;查看都有哪些數據庫,即查看數據庫列表。
SHOW DATABASES like 'vmlab';查看指定的數據庫。
SHOW CREATE DATABASE vmlab;查看創建數據庫過程,可以快速查看數據庫采用的字符集。

3. 創建數據庫

CREATE DATABASE vmlab; 用DBMS默認設置創建數據庫
CREATE DATABASE microcisco CHARACTER SET "utf8mb4" COLLATE 'utf8mb4_bin';指定字符集為“utf8mb4”字符集排序規則為“utf8mb4_bin”

4. 修改數據庫

ALTER DATABASE vmlab CHARCATER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';
將vmlab數據庫字符集修改為: 'utf8mb4' ,字符集的排序規則為:'utf8mb4_unicode_ci' 。
注意:
修改數據庫字符集只對后繼新存儲的數據有效,但對已有數據不生效,生產中除非必須否則不建議修改
設置服務器默認的字符集,可以在配置文件vim /etc/my.cnf的[mysqld]選項部分指定字符集character-set-server=utf8mb4,這樣以后所有創建的數據庫都會繼承字DBMS的字符集

5. 刪除數據庫:

DROP DATABASE like 'microcisco';

6. 基于SQL腳本創建數據庫:

mysql < hellodb_innodb.sql -uroot -ppassword

二、表管理操作

注意:創建表之前一定要先指定在哪個數據庫中創建。

1. 查看表信息:

DESC students; //desc 指定表名即可查看表結構
SHOW TABLES FROM mysql; //查看指定數據庫中都有哪些表。
SHOW COLUMNS FROM mysql.user; //查看指定表都有哪些字段,執行結果與desc相同。
SHOW CREATE TABLE vmlab\G; //查看創建vmlab表時執行的命令,即表是如何創建的。可以參考該方法創建腳本文件。
SHOW TABLE STATUS LIKE 'students'\G; //查看表狀態信息,比較常用可以顯示字符集、創建時間、更新時間、表引擎等信息。
SHOW TABLE STATUS FROM mysql\G; //查看指定數據庫的所有表狀態。

2. 創建表

注意事項,表內字段修飾符NO NULL被指定后則在添加記錄時該字段必須指定值。一般建議第一列ID為主鍵,且自動增長。
方法一:直接創建 ()內指定字段名稱,存儲的數據類型,修飾符等信息,不同定段字定義以逗號分隔
CREATE TABLE students (id int UNSIGNED AUTO_INCREMENT PRIMARY KEY,name VARCHAR(10) NOT NULL,age TINYINT UNSIGNED);
方法二:通過查詢現存表創建,新表會被直接插入查詢而來的數據(注意:此方法復制表結構,但不會復制字段的修飾符信息,原表的數據會被復制。)
CREATE TABLE vmlab SELECT * FROM students;從students表提取數據創建新表vmlab

方法三:通過復制現存表的表結構,但不復制數據(注意:此方法復制表結構,但不會復制原表的數據。)
CREATE TABLE vmlab LIKE students;參考現存表students創建新表vmlab。

3. 刪除表:

drop table vmlab;

4. 修改表:
修改表基本上都是針對列操作,生產環境基本上很少需要修改,必須字段意味著需求變更。對表的所有修改操作都需要使用ALTER TABLE 然后指定表名,再指定操作類型:添加操作用ADD、刪除操作用DROP、更改操作用CHANGE,添加修改操作相當于重新字義字段,所以必須要指定數據類型。

表重命名: ALTER TABLE vmlab RENAME vmlab1;
插入字段:插入字段實際上就是新定義字段因此必須指定數據類型
ALTER TABLE vmlab ADD phone CHAR(11) AFTER age; //在vmlab1表的age列后插入新列名為phone,數據類型為char 長度為11個字符。
ALTER TABLE vmlab ADD ID int UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY FIRST; 在首列添加一列并定義為主鍵。
ALTER TABLE vmlab ADD Gender ENUM('M','F','S'); //不指定位置則在表最后一列添加新的字段,ENUM為列表類型。

修改字段數據類型:
ALTER TABLE microcisco MODIFY phone int; //將microcisco表的phone字段數據類型修改為int型
字段改名:
ALTER TABLE vmlab CHANGE COLUMN phone mobile char(11); //將vmlab表中的phone字段改名為mobile,并將數據類型改為char類型,長度為11個字符。注意:字段改名必須指定改名后的字段數據類型。
刪除字段:
ALTER TABLE vmlab DROP COLUMN phone; //刪除vmlab表的phone字段。
修改表字符集:
ALTER TABLE vmlab CHARACTER SET utf8mb4; //修改vmlab表的字符集為utf8mb4。
修改字段數據類型:
ALTER TABLE vmlab CHANGE name name VARCHAR(20);
刪除主鍵:
ALTER TABLE vmlab DROP PRIMARY KEY;
定義主鍵:
ALTER TABLE vmlab CHANGE id id int UNSIGNED NOT NULL PRIMARY KEY; //注意:定義主鍵相當于重新定義字段因此必須要指定字段數據類型,尤其要與原來數據類型一致。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

忻城县| 陆良县| 上虞市| 永济市| 唐河县| 鹤山市| 卢氏县| 南京市| 讷河市| 泽州县| 昌黎县| 洛扎县| 南城县| 庄河市| 湖南省| 泉州市| 石楼县| 广州市| 建水县| 阿勒泰市| 惠安县| 封丘县| 砚山县| 扎囊县| 英吉沙县| 滦南县| 长阳| 清水县| 昭平县| 马鞍山市| 宝山区| 玛沁县| 神木县| 吉安市| 台东市| 凤冈县| 营口市| 来凤县| 乐山市| 子长县| 突泉县|