mysql数据库技术基本操作_MySQL数据库的基础操作
MySQL創(chuàng)建數(shù)據(jù)表
1. CREATE TABLE 創(chuàng)建數(shù)據(jù)表語法基本格式:CREATE TABLE ([表定義選項(xiàng)])[表選項(xiàng)][分區(qū)選項(xiàng)];
2. CREATE TABLE 創(chuàng)建數(shù)據(jù)表參數(shù)說明:
[表定義選項(xiàng)]的格式為:? [,…]
CREATE TABLE 命令語法比較多,其主要是由表創(chuàng)建定義(create-definition)、表選項(xiàng)(table-options)和分區(qū)選項(xiàng)(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ù)庫中進(jìn)行,如果沒有選擇數(shù)據(jù)庫,就會拋出 No database selected 的錯誤。
舉例:選擇創(chuàng)建表的數(shù)據(jù)庫 test_db,創(chuàng)建 tb_emp1 數(shù)據(jù)表,輸入的 SQL 語句和運(yùn)行結(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é)果可能非常混亂,加上“\G”參數(shù)之后,可使顯示的結(jié)果更加直觀,易于查看。
MySQL修改數(shù)據(jù)庫表
1.?ALTER TABLE 修改表名語法的基本格式:ALTER TABLE RENAME [TO] ; //TO 為可選參數(shù),使用與否均不影響結(jié)果。
2. 修改表字符集ALTER TABLE 表名 [DEFAULT] CHARACTER SET [DEFAULT] COLLATE ;
//其中,DEFAULT 為可選參數(shù),使用與否均不影響結(jié)果。
MySQL修改/刪除字段
1.?ALTER TABLE?修改字段名稱基本語法如下:ALTER TABLE CHANGE ;
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
4. ALTER TABLE修改字段數(shù)據(jù)類型參數(shù)說明
(1)表名:指要修改數(shù)據(jù)類型的字段所在表的名稱;
(2)字段名:指需要修改的字段;
(3)數(shù)據(jù)類型:指修改后字段的新數(shù)據(jù)類型。
5.ALTER TABLE?刪除字段基本語法格式:ALTER TABLE DROP ; //字段名”指需要從表中刪除的字段的名稱
MySQL刪除數(shù)據(jù)表
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)限不會自動刪除。
MySQL刪除被其它表關(guān)聯(lián)的主表
刪除父表有以下兩種方法:
先刪除與它關(guān)聯(lián)的子表,再刪除父表;但是這樣會同時刪除兩個表中的數(shù)據(jù)。
將關(guān)聯(lián)表的外鍵約束取消,再刪除父表;適用于需要保留子表的數(shù)據(jù),只刪除父表的情況。
MySQL數(shù)據(jù)表添加字段(三種方式)
1. 在在末尾添加字段語法基本格式:ALTER TABLE ADD [約束條件];
2. 參數(shù)說明
(1) 為數(shù)據(jù)表的名字;
(2) 為所要添加的字段的名字;
(3) 為所要添加的字段能存儲數(shù)據(jù)的數(shù)據(jù)類型;
(4)[約束條件] 是可選的,用來對添加的字段進(jìn)行約束。
注意:這種語法格式默認(rèn)在表的最后位置(最后一列的后面)添加新字段。
3. 在開頭添加字段語法基本格式:ALTER TABLE ADD [約束條件] FIRST;
4. 在中間位置添加字段語法基本格式:ALTER TABLE ADD [約束條件] AFTER ;
注意,只能在某個已有字段的后面添加新字段,不能在它的前面添加新字段。
總結(jié)
以上是生活随笔為你收集整理的mysql数据库技术基本操作_MySQL数据库的基础操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: u盘无法识别usb怎么办 解决U盘USB
- 下一篇: mysql高级笔记_MySQL高级部分笔