一:使用MySQL資料庫:
1、查看資料庫結構:
查看當前伺服器中有哪些庫:
SHOWDATABASES 語句:用於列出當前MySQL伺服器中包含的庫;經過初始化後的MySQL伺服器,預設建立了三個庫:test、mysql和information_schema(其中mysql庫中包含了使用者認證相關的表)
mysql> SHOW DATABASES;
查看當前使用的庫中有哪些表:
SHOWTABLES 語句:用於列出當前所在的庫中包含的表。操作之前,需要先使用USE語句切換到所使用的庫:
mysql> USE mysql;
mysql> SHOW TABLES;
Mysql資料庫的資料檔案預設存放在/usr/local/mysql/var/目錄下,每個資料庫對應一個子目錄,用於儲存資料表檔案;
每一個資料表對應為三個檔案,尾碼名分別為”.frm”” .MYD ”” .MYI ”。
查看錶的結構:
建立及刪除庫和表:
b、建立新的庫:
CREATEDATABASE 語句:用於建立一個新的庫,需指定資料庫名稱作為參數。
Eg:建立一個名為welcome的庫:
mysql> CREATE DATABASE welcome;
建立的空資料庫在/usr/local/mysql/var/目錄下會自動產生一個與建立的庫名相同的空檔案夾。
c、建立新的表:
CREATETABLE 語句:用於在當前庫中建立新的表,需指定資料表名稱作為參數,並定義該表格所使用的各欄位。
格式: CREATETABLE表名(欄位1名稱類型,欄位2名稱類型,… ,PRIMARY kEY (主鍵名))
在welcome庫中建立users表。其中,欄位定義部分的DEFAULT用於設定預設的密碼字串,PRIMARY用於設定主鍵欄位名。
mysql> USE welcome;
mysql> CREATE TABLE users (user_name CHAR(16) NOT NULL, user_passwd CHAR(48) DEFAULT '', PRIMARY KEY (user_name));
刪除一個資料表:
DROPTABLE 語句:用於刪除庫中的表,需要指定“庫名.表名”作為參數;若只指定表名參數,則需先通過“USE”語句切換到目標庫。
Eg:刪除welcome庫中的users表:
mysql> DROP TABLE welcome.users;
刪除一個資料庫:
DROPDATABASE 語句:用於刪除指定的庫,需要指定庫名作為參數。
Eg:刪除名為welcome的庫:
mysql> DROP DATABASE welcome;
3、管理表中的資料記錄:
插入資料記錄:
INSERTINTO 語句:用於向表中插入新的資料記錄。
格式: INSERTINTO 表名(欄位1,欄位2,…) VALUES(欄位1的值,欄位2的值,…)
向welcome庫中的users表中插入一條記錄:使用者www,對應的密碼為“123456”:
mysql> use welcome;
mysql> INSERT INTO users(user_name,user_passwd) VALUES('www',PASSWORD('123456'));
Eg:向welcome庫中的users表中插入一條新的記錄,使用者qqq,對應密碼“654321”。
mysql> use welcome;
mysql> INSERT INTO users VALUES('qqq',PASSWORD(654321));
查詢資料記錄:
SELECT 語句:用於從指定的表中尋找合格資料記錄。
格式: SELECT欄位名1,欄位名2,… FROM表名WHERE 條件運算式
表示所有欄位可以使用萬用字元“*”,若要列出所有的資料記錄則可以省略WHERE條件子句。
Eg:查看welcome庫中的users表內的所有資料記錄:
mysql> select * from welcome.users;
根據特定的條件尋找記錄,WHERE條件子句是必不可少的。
Eg:尋找users表中使用者名稱為qqq的記錄,輸出其使用者名稱、密碼欄位的資訊:
mysql> SELECT user_name,user_passwd from welcome.users where user_name='qqq';
修改資料記錄:
UPDATE 語句:用於修改、更新表中的資料記錄。
UPDATE表名SET欄位名1=欄位值1[,欄位名2=欄位值2]WHERE 條件運算式
Eg:修改users表中使用者名稱為www的記錄,將密碼字串設為空白值,並驗證:
mysql> UPDATE welcome.users SET user_passwd=PASSWORD('') WHERE user_name='www';
mysql> select * from welcome.users;
mysql資料庫伺服器中,用於訪問資料庫的各種使用者資訊都儲存在mysql庫的user表中。
Eg:將資料庫使用者root的密碼設為123456,當再次使用“mysql–uroot-p”訪問mysql資料庫伺服器時,必須使用此密碼進行驗證。
mysql> UPDATE mysql.user SET password=PASSWORD('123456') WHERE user='root';
mysql> FLUSH PRIVILEGES;
[root@ns ~]# mysqldump -u root -p password '123456'
刪除資料記錄:
DELETE 語句:用於刪除表中指定的資料記錄。
格式: DELETE FROM 表名 WHERE 條件運算式
Eg:刪除users表名為www的資料記錄,並驗證:
mysql> DELETE FROM welcome.users WHERE user_name='www';
mysql> SELECT * FROM welcome.users;
在mysql資料庫伺服器中,預設添加了從本機訪問資料庫的空使用者(user、password均為空白)。基於資料庫安全性考慮,應該刪除這些空使用者。
mysql> SELECT user,host,password FROM mysql.user WHERE user='';
mysql> DELETE FROM mysql.user WHERE user='';
推薦閱讀:
Percona_Toolkit 簡介及安裝 -- MySQL管理員必備的工具包