您好,登錄后才能下訂單哦!
本篇文章為大家展示了MySQL數(shù)據(jù)庫的基礎(chǔ)操作是什么,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
1. CREATE TABLE 創(chuàng)建數(shù)據(jù)表語法基本格式:
CREATE TABLE <表名> ([表定義選項])[表選項][分區(qū)選項];
2. CREATE TABLE 創(chuàng)建數(shù)據(jù)表參數(shù)說明:
[表定義選項]
的格式為: <列名1> <類型1> [,…] <列名n> <類型n>
CREATE TABLE 命令語法比較多,其主要是由表創(chuàng)建定義(create-definition)、表選項(table-options)和分區(qū)選項(partition-options)所組成的。
3.CREATE TABLE 語句的主要語法及使用說明如下
(1)CREATE TABLE:用于創(chuàng)建給定名稱的表,必須擁有表CREATE的權(quán)限。
(2)<表名>:指定要創(chuàng)建表的名稱,在 CREATE TABLE 之后給出,必須符合標(biāo)識符命名規(guī)則。表名稱被指定為 db_name.tbl_name,以便在特定的數(shù)據(jù)庫中創(chuàng)建表。無論是否有當(dāng)前數(shù)據(jù)庫,都可以通過這種方式創(chuàng)建。在當(dāng)前數(shù)據(jù)庫中創(chuàng)建表時,可以省略 db-name。如果使用加引號的識別名,則應(yīng)對數(shù)據(jù)庫和表名稱分別加引號。例如,'mydb'.'mytbl' 是合法的,但 'mydb.mytbl' 不合法。
(3)<表定義選項>:表創(chuàng)建定義,由列名(col_name)、列的定義(column_definition)以及可能的空值說明、完整性約束或表索引組成。
(4)默認(rèn)的情況是,表被創(chuàng)建到當(dāng)前的數(shù)據(jù)庫中。若表已存在、沒有當(dāng)前數(shù)據(jù)庫或者數(shù)據(jù)庫不存在,則會出現(xiàn)錯誤。
提示:使用 CREATE TABLE 創(chuàng)建表時,必須指定以下信息:
要創(chuàng)建的表的名稱不區(qū)分大小寫,不能使用SQL語言中的關(guān)鍵字,如DROP、ALTER、INSERT等。
數(shù)據(jù)表中每個列(字段)的名稱和數(shù)據(jù)類型,如果創(chuàng)建多個列,要用逗號隔開。
4. 在指定的數(shù)據(jù)庫中創(chuàng)建表
數(shù)據(jù)表屬于數(shù)據(jù)庫,在創(chuàng)建數(shù)據(jù)表之前,應(yīng)使用語句“USE<數(shù)據(jù)庫>”指定操作在哪個數(shù)據(jù)庫中進(jìn)行,如果沒有選擇數(shù)據(jù)庫,就會拋出 No database selected 的錯誤。
舉例:選擇創(chuàng)建表的數(shù)據(jù)庫 test_db,創(chuàng)建 tb_emp1 數(shù)據(jù)表,輸入的 SQL 語句和運行結(jié)果如下所示。
mysql> USE test_db;
Database changed
mysql> CREATE TABLE tb_emp1
-> (
-> id INT(11),
-> name VARCHAR(25),
-> deptId INT(11),
-> salary FLOAT
-> );
Query OK, 0 rows affected (0.37 sec)
語句執(zhí)行后,便創(chuàng)建了一個名稱為 tb_emp1 的數(shù)據(jù)表,使用 SHOW TABLES 語句查看數(shù)據(jù)表是否創(chuàng)建成功,如下圖所示。
5. 查看表結(jié)構(gòu)
查看表結(jié)構(gòu)可以使用 DESCRIBE 和 SHOW CREATE TABLE 語句。DESCRIBE/DESC 語句可以查看表的字段信息,包括字段名、字段數(shù)據(jù)類型、是否為主鍵、是否有默認(rèn)值等,語法規(guī)則如下:
DESCRIBE <表名>;
//縮寫成 DESC <表名>;
SHOW CREATE TABLE語句可以用來顯示創(chuàng)建表時的CREATE TABLE語句,語法格式如下:
SHOW CREATE TABLE <表名>\G;
提示:使用 SHOW CREATE TABLE 語句不僅可以查看創(chuàng)建表時的詳細(xì)語句,而且可以查看存儲引擎和字符編碼。如果不加“\G”參數(shù),顯示的結(jié)果可能非?;靵y,加上“\G”參數(shù)之后,可使顯示的結(jié)果更加直觀,易于查看。
1. ALTER TABLE 修改表名語法的基本格式:
ALTER TABLE <舊表名> RENAME [TO] <新表名>; //TO 為可選參數(shù),使用與否均不影響結(jié)果。
2. 修改表字符集
ALTER TABLE 表名 [DEFAULT] CHARACTER SET <字符集名> [DEFAULT] COLLATE <校對規(guī)則名>; //其中,DEFAULT 為可選參數(shù),使用與否均不影響結(jié)果。
1. ALTER TABLE 修改字段名稱基本語法如下:
ALTER TABLE <表名> CHANGE <舊字段名> <新字段名> <新數(shù)據(jù)類型>;
2. ALTER TABLE 修改字段名稱參數(shù)說明
(1)舊字段名:指修改前的字段名;
(2)新字段名:指修改后的字段名;
(3)新數(shù)據(jù)類型:指修改后的數(shù)據(jù)類型,如果不需要修改字段的數(shù)據(jù)類型,可以將新數(shù)據(jù)類型設(shè)置成與原來一樣,但數(shù)據(jù)類型不能為空。
3. ALTER TABLE修改字段數(shù)據(jù)類型基本語法格式:
ALTER TABLE <表名> MODIFY <字段名> <數(shù)據(jù)類型>
4. ALTER TABLE修改字段數(shù)據(jù)類型參數(shù)說明
(1)表名:指要修改數(shù)據(jù)類型的字段所在表的名稱;
(2)字段名:指需要修改的字段;
(3)數(shù)據(jù)類型:指修改后字段的新數(shù)據(jù)類型。
5.ALTER TABLE 刪除字段基本語法格式:
ALTER TABLE <表名> DROP <字段名>; //字段名”指需要從表中刪除的字段的名稱
1. DROP TABLE刪除數(shù)據(jù)表基本格式:
DROP TABLE [IF EXISTS] 表名1 [ ,表名2, 表名3 ...]
2. DROP TABLE刪除數(shù)據(jù)表參數(shù)說明:
(1)表名1, 表名2, 表名3 ...表示要被刪除的數(shù)據(jù)表的名稱。DROP TABLE 可以同時刪除多個表,只要將表名依次寫在后面,相互之間用逗號隔開即可。
(2)IF EXISTS 用于在刪除數(shù)據(jù)表之前判斷該表是否存在。如果不加 IF EXISTS,當(dāng)數(shù)據(jù)表不存在時 MySQL 將提示錯誤,中斷 SQL 語句的執(zhí)行;加上 IF EXISTS 后,當(dāng)數(shù)據(jù)表不存在時 SQL 語句可以順利執(zhí)行,但是會發(fā)出警告(warning)。
注意:
用戶必須擁有執(zhí)行 DROP TABLE 命令的權(quán)限,否則數(shù)據(jù)表不會被刪除。
表被刪除時,用戶在該表上的權(quán)限不會自動刪除。
刪除父表有以下兩種方法:
先刪除與它關(guān)聯(lián)的子表,再刪除父表;但是這樣會同時刪除兩個表中的數(shù)據(jù)。
將關(guān)聯(lián)表的外鍵約束取消,再刪除父表;適用于需要保留子表的數(shù)據(jù),只刪除父表的情況。
1. 在在末尾添加字段語法基本格式:
ALTER TABLE <表名> ADD <新字段名><數(shù)據(jù)類型>[約束條件];
2. 參數(shù)說明
(1)<表名> 為數(shù)據(jù)表的名字;
(2)<新字段名> 為所要添加的字段的名字;
(3)<數(shù)據(jù)類型> 為所要添加的字段能存儲數(shù)據(jù)的數(shù)據(jù)類型;
(4)[約束條件] 是可選的,用來對添加的字段進(jìn)行約束。
注意:這種語法格式默認(rèn)在表的最后位置(最后一列的后面)添加新字段。
3. 在開頭添加字段語法基本格式:
ALTER TABLE <表名> ADD <新字段名> <數(shù)據(jù)類型> [約束條件] FIRST;
4. 在中間位置添加字段語法基本格式:
ALTER TABLE <表名> ADD <新字段名> <數(shù)據(jù)類型> [約束條件] AFTER <已經(jīng)存在的字段名>;
注意,只能在某個已有字段的后面添加新字段,不能在它的前面添加新字段。
上述內(nèi)容就是MySQL數(shù)據(jù)庫的基礎(chǔ)操作是什么,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。