其實對很多人來說對於SQL語句已經忘了很多,或者說是不懂很多,因為有資料庫圖形操作軟體,方便了大家,但是我們不能忘記最根本的東西,特別是一些細節上的東西,可能你用慣了Hibernate,不用寫SQL語句,但是不是任何項目都要用到大架構的,如果不用,那你是不是就不會操作資料庫了呢,所以我們最好還是熟悉一點好,對我們以後找工作和工作都有協助。
在說建立、修改和刪除表前,我們還是要進行一個操作的簡單說明:
1、登陸資料庫系統
在命令列中登陸MySQL資料庫管理系統,輸入以下內容:
mysql -h localhost -u root -p
很多人都知道這個,但是其中參數的具體表示什麼我們還是要瞭解的,其中:
-h:指串連的主機名稱,預設情況下是localhost,可以忽略此參數;
-u:表示使用者名稱,此處的使用者名稱為root;
-p:表示使用者的密碼
按下Enter鍵後就顯示“Enter password:”,輸入密碼即可登入進去了。
| 代碼如下 |
複製代碼 |
Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 2 Server version: 5.6.13 Source distribution Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql> |
2、建立資料庫
在建立資料庫之前,我們可以查看已經存在的資料庫:
格式:
CREATE DATABASE 資料庫名;
樣本:查看已經存在的資料庫
| 代碼如下 |
複製代碼 |
mysql> SHOW DATABASES; ++ | Database | ++ | information_schema | | mysql | | performance_schema | ++ 3 rows in set (0.00 sec) |
樣本:建立一個名為example的資料庫
| 代碼如下 |
複製代碼 |
mysql> CREATE DATABASES `example`; Query OK, 1 row affected (0.00 sec) mysql> SHOW DATABASES; ++ | Database | ++ | information_schema | | example | | mysql | | performance_schema | ++ 4 rows in set (0.00 sec) |
3、刪除資料庫:
格式:
DROP DATABASE 資料庫名;
樣本:刪除example資料庫
| 代碼如下 |
複製代碼 |
mysql> DROP DATABASE `example`; Query OK, 0 rows affected (0.02 sec) mysql> SHOW DATABASES; ++ | Database | ++ | information_schema | | mysql | | performance_schema | ++ 3 rows in set (0.00 sec) |
4、資料庫儲存引擎
儲存引擎就是指表的類型,資料庫儲存引擎決定了表在電腦的儲存方式。
MySQL中查詢儲存引擎的類型命令:SHOW ENGINES;
| 代碼如下 |
複製代碼 |
mysql> SHOW ENGINES; ++-+++++ | Engine | Support | Comment | Transactions | XA | Savepoints | ++-+++++ | FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL | | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO | | MyISAM | YES | MyISAM storage engine | NO | NO | NO | | BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO | | CSV | YES | CSV storage engine | NO | NO | NO | | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO | | ARCHIVE | YES | Archive storage engine | NO | NO | NO | | InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES | | PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO | ++-+++++ 9 rows in set (0.00 sec) |
查詢結果中:
Engine參數指儲存引擎名稱;
Support參數說明MySQL是否支援該類型引擎;
Comment參數表示對該引擎的評論;
Transaction參數表示是否支援交易處理;
XA參數表示是否分布式交易處理的XA規範;
Savepoints參數表示是否支援儲存點,以方便事務的復原操作;
由上面我們看到InnoDB儲存引擎是default的,也就是資料庫預設的儲存引擎,下面我們簡單介紹一下InnoDB。
InnoDB是MySQL的一種儲存引擎,InnoDB給MySQL提供了事務、復原、崩潰修複能力和多版本並發控制的事務安全。InnoDB是MySQL上第一個提供外鍵約束的表引擎,而且對交易處理的能力,也是其他儲存引擎不能比擬的。不過這種引擎的缺點就是讀寫效率稍差,佔用的資料空間相對比較大。