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
為了獲得一個數據庫內的表的列表, 可以使用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: 用來顯示伺服器錯誤或經過訊息