1. 程式人生 > 實用技巧 >MySQL基礎之MySQL必知必會(三)使用MySQL

MySQL基礎之MySQL必知必會(三)使用MySQL

連線

MySQL與其他所有客戶機-伺服器DBMS一樣, 要求在能執行命令之前登入到DBMS。MySQL在內部儲存自己的使用者列表, 並且把每個使用者與各種許可權關聯起來

連線到MySQL需要以下資訊

  • 主機名(計算機) - 如果連線到本地MySQL伺服器, 為localhost
  • 埠 - 如果使用預設埠3306之外的埠需要指定埠
  • 一個合法的使用者名稱
  • 使用者口令(如果需要)
mysql -u root -p -h mysqlserver -P 9999

選擇資料庫

在執行任意資料庫操作前, 需要先選擇一個數據庫。使用USE關鍵字

關鍵字(Key word): 作為MySQL語言組成部分的一個保留字。決不要用關鍵字命名一個表或一個列

例如: 為了使用crashcourse資料庫, 應該輸入如下內容:

MariaDB [(none)]> use crashcourse;
Database changed
MariaDB [crashcourse]>

USE語句並不返回任何結果。只是顯示某種形式的提示資訊。

記住: 必須先使用USE開啟資料庫, 才能讀取其中的資料

瞭解資料庫和表

資料庫、表、列、使用者、許可權等資訊都被儲存在資料庫和表中(MySQL使用MySQL來儲存這些資訊)。不過, 內部的表一般不直接訪問。可用MySQL的SHOW命令來顯示這些資訊(MySQL從內部表中提取這些資訊)

例如:

MariaDB [
crashcourse]> show databases; +--------------------+ | Database | +--------------------+ | crashcourse | | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.000 sec) MariaDB [crashcourse]>

SHOW DATABASES

: 返回可用資料庫的一個列表。包含在這個列表中的是MySQL內部使用的資料庫和自己建立的資料庫

為了獲得一個數據庫內的表的列表, 可以使用SHOW TABLSE; 如下所示:

MariaDB [crashcourse]> SHOW TABLES;
Empty set (0.000 sec)

MariaDB [crashcourse]> 

SHOW TABLES: 返回當前選擇資料庫內可用表的列表。當然應該這是一個新建的庫, 裡面沒有一張表, 所以返回的是空。

SHOW也可以用來顯示錶列:

MariaDB [blog]> show columns from xadmin_log;
+-----------------+--------------+------+-----+---------+----------------+
| Field           | Type         | Null | Key | Default | Extra          |
+-----------------+--------------+------+-----+---------+----------------+
| id              | int(11)      | NO   | PRI | NULL    | auto_increment |
| action_time     | datetime(6)  | NO   |     | NULL    |                |
| ip_addr         | char(39)     | YES  |     | NULL    |                |
| object_id       | longtext     | YES  |     | NULL    |                |
| object_repr     | varchar(200) | NO   |     | NULL    |                |
| action_flag     | varchar(32)  | NO   |     | NULL    |                |
| message         | longtext     | NO   |     | NULL    |                |
| content_type_id | int(11)      | YES  | MUL | NULL    |                |
| user_id         | int(11)      | NO   | MUL | NULL    |                |
+-----------------+--------------+------+-----+---------+----------------+
9 rows in set (0.001 sec)

MariaDB [blog]> 

SHOW CLOUMNS: SHOW CLOUMNS要求給出一個表名, 它對錶中的每個欄位返回一行, 行中包括欄位名、資料型別、是否允許為NULL、鍵資訊、預設值以及其他的資訊(如欄位id的auto_increment)

什麼是自增量?

某些表列需要唯一值, MySQL可以自動為每一行分配下一個可用編號, 不用在新增一行時手動分配唯一值, 這個功能就是所謂的自動增量。

所支援的其他SHOW命令還有:

  • SHOW STATUS: 用於顯示廣泛的伺服器狀態資訊
  • SHOW CREATE DATABASE 資料庫名 和 SHOW CREATE TABLES 表名: 分別用來顯示建立特定資料庫或表的MySQL語句
  • SHOW GRANTS: 用來顯示授予使用者(所有使用者或特定使用者)的安全許可權
  • SHOW ERRORS 和 SHOW WARNINGS: 用來顯示伺服器錯誤或經過訊息