1.創建數據庫
啟動MySQL 服務之后,輸入以下命令連接到MySQL 服務器:
[mysql@db3 ~]$ mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 7344941 to server version: 5.1.9-beta-log Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>
在以上命令行中,mysql 代表客戶端命令,-u 后面跟連接的數據庫用戶,-p 表示需要輸入密碼。
如果數據庫設置正常,並輸入正確的密碼,將看到上面一段歡迎界面和一個mysql>提示符。
在歡迎界面中介紹了以下幾部分內容。
命令的結束符,用;或者\g 結束。
客戶端的連接ID,這個數字記錄了MySQL 服務到目前為止的連接次數,每個新連接都會自動加1,本例中是7344941。
MySQL 服務器的版本,本例中是“5.1.9-beta-log”,說明是5.1.9 的測試版,如果是標准版,則會用Standard 代替Beta。
通過“help;”或者“\h”命令來顯示幫助內容,通過“\c”命令來清除命令行buffer。在mysql>提示符后面輸入所要執行的的SQL 語句,每個SQL 語句以分號或者\g 結束,按回車鍵執行。
因為所有的數據都存儲在數據庫中,因此需要學習的第一個命令是創建數據庫,語法如下所示:
CREATE DATABASE dbname
例如,創建數據庫test1,命令執行如下:
mysql> create database test1;
Query OK, 1 row affected (0.00 sec)
可以發現,執行完創建命令后,下面有一行提示“Query OK, 1 row affected (0.00 sec)”,這段提示可以分為3 部分,“Query OK”表示上面的命令執行成功,讀者可能奇怪,又不是執行查詢操作,為什么顯示查詢成功?其實這是MySQL 的一個特點,所有的DDL 和DML(不包括SELECT)操作執行成功后都顯示“Query OK”,這里理解為執行成功就可以了;“1 rowaffected”表示操作只影響了數據庫中一行的記錄,“0.00 sec”則記錄了操作執行的時間。如果已經存在這個數據庫,系統會提示:
mysql> create database test1;
ERROR 1007 (HY000): Can't create database 'test1'; database exists
這個時候,如果需要知道系統中都存在哪些數據庫,可以用以下命令來查看:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| cluster |
| mysql |
| test |
| test1 |
+--------------------+
5 rows in set (0.00 sec)
可以發現,在上面的列表中除了剛剛創建的test1 外,還有另外4 個數據庫,它們都是安裝MySQL 時系統自動創建的,其各自功能如下。
information_schema:主要存儲了系統中的一些數據庫對象信息。比如用戶表信息、列信息、權限信息、字符集信息、分區信息等。
cluster:存儲了系統的集群信息。
mysql:存儲了系統的用戶權限信息。
test:系統自動創建的測試數據庫,任何用戶都可以使用。
在查看了系統中已有的數據庫后,可以用如下命令選擇要操作的數據庫:
USE dbname
例如,選擇數據庫test1:
mysql> use test1
Database changed
然后再用以下命令來查看test1 數據庫中創建的所有數據表:
mysql> show tables;
Empty set (0.00 sec)
由於test1 是剛創建的數據庫,還沒有表,所以顯示為空。命令行下面的“Empty set”表示操作的結果集為空。如果查看一下mysql 數據庫里面的表,則可以得到以下信息:
mysql> use mysql
Database changed
mysql> show tables; +---------------------------+ | Tables_in_mysql | +---------------------------+ | columns_priv | | db | | event | | func | | general_log | | help_category | | help_keyword | | help_relation | | help_topic | | host | | plugin | | proc | | procs_priv | | slow_log | | tables_priv | | time_zone | | time_zone_leap_second | | time_zone_name | | time_zone_transition | | time_zone_transition_type | | user | +---------------------------+ 21 rows in set (0.00 sec)
2.刪除數據庫
刪除數據庫的語法很簡單,如下所示:
drop database dbname;
例如,要刪除test1 數據庫可以使用以下語句:
mysql> drop database test1;
Query OK, 0 rows affected (0.00 sec)
可以發現,提示操作成功后,后面卻顯示了“0 rows affected”,這個提示可以不用管它,在MySQL 里面,drop 語句操作的結果顯示都是“0 rows affected”。
注意:數據庫刪除后,下面的所有表數據都會全部刪除,所以刪除前一定要仔細檢查並做好相應備份.