国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

MySQL中創(chuàng)建、修改和刪除表命令

2024-07-24 12:36:58
字體:
供稿:網(wǎng)友

對于mysql數(shù)據(jù)表創(chuàng)建,修改,刪除命令也是最基本的數(shù)據(jù)庫入門基礎(chǔ)知識了,下面小編來給大家介紹一下MySQL中創(chuàng)建、修改和刪除表一些實例,希望對大家有所幫助.

其實對很多人來說對于SQL語句已經(jīng)忘了很多,或者說是不懂很多,因為有數(shù)據(jù)庫圖形操作軟件,方便了大家,但是我們不能忘記最根本的東西,特別是一些細(xì)節(jié)上的東西,可能你用慣了Hibernate,不用寫SQL語句,但是不是任何項目都要用到大框架的,如果不用,那你是不是就不會操作數(shù)據(jù)庫了呢,所以我們最好還是熟悉一點好,對我們以后找工作和工作都有幫助.

在說創(chuàng)建、修改和刪除表前,我們還是要進(jìn)行一個操作的簡單說明.

1、登陸數(shù)據(jù)庫系統(tǒng)

在命令行中登陸MySQL數(shù)據(jù)庫管理系統(tǒng),輸入以下內(nèi)容:

mysql -h localhost -u root -p

很多人都知道這個,但是其中參數(shù)的具體表示什么我們還是要了解的,其中:

-h:指連接的主機名,默認(rèn)情況下是localhost,可以忽略此參數(shù).

-u:表示用戶名,此處的用戶名為root.

-p:表示用戶的密碼

按下Enter鍵后就顯示“Enter password:”,輸入密碼即可登錄進(jìn)去了,代碼如下:

  1. Welcome to the MySQL monitor.  Commands end with ; or g. 
  2. Your MySQL connection id is 2 
  3. Server version: 5.6.13 Source distribution 
  4. Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 
  5. Oracle is a registered trademark of Oracle Corporation and/or its 
  6. affiliates. Other names may be trademarks of their respective 
  7. owners. 
  8. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. 
  9. mysql> 

2、創(chuàng)建數(shù)據(jù)庫

在創(chuàng)建數(shù)據(jù)庫之前,我們可以查看已經(jīng)存在的數(shù)據(jù)庫.

格式:CREATE DATABASE 數(shù)據(jù)庫名;

示例:查看已經(jīng)存在的數(shù)據(jù)庫,代碼如下:

  1. mysql> SHOW DATABASES; 
  2. ++ 
  3. Database           | 
  4. ++ 
  5. | information_schema | 
  6. | mysql              | 
  7. | performance_schema | 
  8. ++ 
  9. rows in set (0.00 sec) 

示例:創(chuàng)建一個名為example的數(shù)據(jù)庫,代碼如下:

  1. mysql> CREATE DATABASES `example`; 
  2. Query OK, 1 row affected (0.00 sec) 
  3. mysql> SHOW DATABASES; 
  4. ++ 
  5. Database           | 
  6. ++ 
  7. | information_schema | 
  8. | example            | 
  9. | mysql              | 
  10. | performance_schema | 
  11. ++ 
  12. rows in set (0.00 sec) 

3、刪除數(shù)據(jù)庫:

格式:DROP DATABASE 數(shù)據(jù)庫名;

示例:刪除example數(shù)據(jù)庫,代碼如下:

  1. mysql> DROP DATABASE `example`; 
  2. Query OK, 0 rows affected (0.02 sec) 
  3. mysql> SHOW DATABASES; 
  4. ++ 
  5. Database           | 
  6. ++ 
  7. | information_schema | 
  8. | mysql              | 
  9. | performance_schema | 
  10. ++ 
  11. rows in set (0.00 sec) 

4、數(shù)據(jù)庫存儲引擎

存儲引擎就是指表的類型,數(shù)據(jù)庫存儲引擎決定了表在計算機的存儲方式,MySQL中查詢存儲引擎的類型命令:SHOW ENGINES;代碼如下:

  1. mysql> SHOW ENGINES; 
  2. ++-+++++ 
  3. | Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints | 
  4. ++-+++++ 
  5. | FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       | 
  6. | MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         | 
  7. | MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         | 
  8. | BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         | 
  9. | CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         | 
  10. | MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         | 
  11. | ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         | 
  12. | InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        | 
  13. | PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         | 
  14. ++-+++++ 
  15. rows in set (0.00 sec) 

查詢結(jié)果中:

Engine參數(shù)指存儲引擎名稱;

Support參數(shù)說明MySQL是否支持該類型引擎;

Comment參數(shù)表示對該引擎的評論;

Transaction參數(shù)表示是否支持事務(wù)處理;

XA參數(shù)表示是否分布式交易處理的XA規(guī)范;

Savepoints參數(shù)表示是否支持保存點,以方便事務(wù)的回滾操作;

由上面我們看到InnoDB存儲引擎是default的,也就是數(shù)據(jù)庫默認(rèn)的存儲引擎,下面我們簡單介紹一下InnoDB.

InnoDB是MySQL的一種存儲引擎,InnoDB給MySQL提供了事務(wù)、回滾、崩潰修復(fù)能力和多版本并發(fā)控制的事務(wù)安全,InnoDB是MySQL上第一個提供外鍵約束的表引擎,而且對事務(wù)處理的能力,也是其他存儲引擎不能比擬的,不過這種引擎的缺點就是讀寫效率稍差,占用的數(shù)據(jù)空間相對比較大.

下面就是正式的內(nèi)容:

5、創(chuàng)建表:

5.1、創(chuàng)建表的形式:

  1. CREATE TABLE 表名 ( 
  2.     屬性名 數(shù)據(jù)類型 [完整約束條件], 
  3.     屬性名 數(shù)據(jù)類型 [完整約束條件], 
  4.     ... 
  5.     ... 
  6.     屬性名 數(shù)據(jù)類型 [完整約束條件] 
  7. ); 

如果你很急的登陸進(jìn)去就創(chuàng)建表,恭喜你,你會出現(xiàn)“No database selected”的錯誤,因為你沒有告訴別人你要選擇在哪個數(shù)據(jù)庫創(chuàng)建表,所以在創(chuàng)建之前要選擇數(shù)據(jù)庫.

格式:

USE 數(shù)據(jù)庫名;

示例:創(chuàng)建一個student表,代碼如下:

  1. mysql> CREATE DATABASE `example`; 
  2. Query OK, 1 row affected (0.01 sec) 
  3. mysql> USE `example`; 
  4. Database changed 
  5. mysql> CREATE TABLE `student` ( 
  6.     -> `id` INT
  7.     -> `nameVARCHAR(20) 
  8.     -> ); 
  9. Query OK, 0 rows affected (0.11 sec) 

上面創(chuàng)建表的時候涉及到一個完整性約束條件,下面就列出一個完整性約束條件表:

約束條件  說明

PRIMARY KEY   標(biāo)識該屬性為該表的主鍵,可以唯一的標(biāo)識對應(yīng)的元組

FOREIGN KEY   標(biāo)識該屬性為該表的外鍵,是與之聯(lián)系某表的主鍵

NOT NULL   標(biāo)識該屬性不能為空

UNIQUE   標(biāo)識該屬性的值是唯一的

AUTO_INCREMENT   標(biāo)識該屬性的值是自動增加,這是MySQL的SQL語句的特色

DEFAULT  為該屬性設(shè)置默認(rèn)值

下面講解一下上面完整性約束條件的應(yīng)用:

5.2、設(shè)置表的主鍵

5.2.1、單字段主鍵

格式:

屬性名 數(shù)據(jù)類型 PRIMARY KEY

示例,代碼如下:

  1. mysql> CREATE TABLE `student1` ( 
  2.     -> `id` INT PRIMARY KEY
  3.     -> `nameVARCHAR(20) 
  4.     -> ); 
  5. Query OK, 0 rows affected (0.07 sec) 

5.2.2、多字段主鍵

格式:PRIMARY KEY(屬性名1,屬性名2....屬性名n)

示例,代碼如下:

  1. mysql> CREATE TABLE `student2` ( 
  2.     -> `id` INT
  3.     -> `stu_id` INT
  4.     -> `nameVARCHAR(20), 
  5.     -> PRIMARY KEY(`id`, `stu_id`) 
  6.     -> ); 
  7. Query OK, 0 rows affected (0.05 sec) 

5.3、設(shè)置表的外鍵

格式:CONSTRAINT 外鍵別名 FOREIGN KEY(屬性1,屬性2,....屬性n) REFERENCES 表名(屬性1',屬性2',...屬性n')

示例,代碼如下:

  1. mysql> CREATE TABLE `teacher` ( 
  2.     -> `id` INT PRIMARY KEY
  3.     -> `stu_id` INT
  4.     -> `nameVARCHAR(20), 
  5.     -> CONSTRAINT `STUID` FOREIGN KEY(`stu_id`) REFERENCES `student1`(`id`) 
  6.     -> ); 
  7. Query OK, 0 rows affected (0.08 sec) 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 宁明县| 天全县| 子长县| 江津市| 九寨沟县| 沙田区| 合山市| 屏边| 海原县| 裕民县| 准格尔旗| 当雄县| 佳木斯市| 象山县| 垦利县| 阳春市| 增城市| 登封市| 邯郸市| 麟游县| 措美县| 万全县| 天柱县| 静海县| 德安县| 油尖旺区| 京山县| 日土县| 牡丹江市| 明光市| 长葛市| 鄂伦春自治旗| 阳江市| 东至县| 二连浩特市| 新丰县| 同江市| 英德市| 南靖县| 澎湖县| 监利县|