標籤:
1、檢查字元集
SHOW VARIABLES WHERE Variable_name LIKE ‘character\_set\_%‘ OR Variable_name LIKE ‘collation%‘;
2、MySQL字元集設定
• 系統變數:
– character_set_server:預設的內部操作字元集
– character_set_client:用戶端來來源資料使用的字元集
– character_set_connection:串連層字元集
– character_set_results:查詢結果字元集
– character_set_database:當前選中資料庫的預設字元集
– character_set_system:系統中繼資料(欄位名等)字元集
– 還有以collation_開頭的同上面對應的變數,用來描述字元序。
3、檢測字元集問題的一些手段
• SHOW CHARACTER SET;
• SHOW COLLATION;
• SHOW VARIABLES LIKE ‘character%’;
• SHOW VARIABLES LIKE ‘collation%’;
• SQL函數HEX、LENGTH、CHAR_LENGTH
• SQL函數CHARSET、COLLATION
4、修改預設字元集
(1)最簡單的修改方法,就是修改mysql的my.ini檔案中的字元集索引值
如 default-character-set = utf8
character_set_server=utf8
修改完後,重啟mysql服務。
(2)mysql命令
mysql>set character_set_client=utf8
mysql>set character_set_connection=utf8
mysql>set character_set_database=utf8
mysql>set character_set_results=utf8
mysql>set character_set_server=utf8
mysql>set collation_connection=utf8
mysql>set collation_database=utf8
mysql>set collation_server=utf8
5、顯示伺服器中的資料庫
mysql>show databases;
6、建立一個資料庫
mysql>create database mysqldata;
7、選擇資料庫
mysql>use mysqldata;
8、查看錶
mysql>show tables;
9、建立資料表
mysql>create table mytable (name VARCHAR(20),sex CHAR(1));
10、顯示表結構
mysql>describe mytable;
11、往表中加入記錄
mysql>insert into mytable values("","");
12、用文本方式將資料裝入資料庫表中
mysql>load data local infile "D:/mysql.txt" into table mytable;
13、匯入.sql檔案命令
mysql>use database;
mysql>source d:/mysql.sql
14、刪除表
mysql>drop table mytable;
15、清空表
mysql>delete from mytable;
16、更新表中資料
mysql>update mytable set sex="" where name=""
17、為使用者賦許可權
一是在User表插入相應的資料行,同時設定相應的許可權;二是通過GRANT命令建立具有某種許可權的使用者
grant all on mydb.* to [email protected] identified by "password";
grant usage on *.* to [email protected] identified by "password";
grant select ,insert,update on mydb.* to [email protected] identified by "password"l
grant update,delete on mydb.TestTable to [email protected] identified by "password";
18、全域系統管理權限
FILE: 在MySQL伺服器上讀寫檔案。
PROCESS: 顯示或殺死屬於其它使用者的服務線程。
RELOAD: 重載存取控制表,重新整理日誌等。
SHUTDOWN: 關閉MySQL服務。
資料庫/資料表/資料列許可權:
ALTER: 修改已存在的資料表(例如增加/刪除列)和索引。
CREATE: 建立新的資料庫或資料表。
DELETE: 刪除表的記錄。
DROP: 刪除資料表或資料庫。
INDEX: 建立或刪除索引。
INSERT: 增加表的記錄。
SELECT: 顯示/搜尋表的記錄。
UPDATE: 修改表中已存在的記錄。
特別的許可權:
ALL: 允許做任何事(和root一樣)。
USAGE: 只允許登入–其它什麼也不允許做。
Mysqldump是MySQL內建的匯出資料工具
MySQL 匯出資料庫在 運行--cmd--環境下。
root:MySQL資料庫使用者名稱
-p: 後跟MySQL資料庫使用者名稱密碼
mydatabses: 資料庫名
-h: 後跟遠端資料庫地址
加 -d為匯出表結構不加為匯出資料
MySQL 只匯出資料庫的所有資料結構:
匯出本地的資料庫表結構:
mysqldump -uroot -p123456 -d mydatabases > mysql.sql
匯出遠程機器(或伺服器)的表結構:
mysqldump -uroot -p123456 -h192.168.0.1 -d mysqldatabases > mysql.sql
匯出本地的某一資料庫所有表結構:
mysqldump -uroot -p12345 mydatabases > mysql.sql
匯出遠程機器(或伺服器)的某一資料庫所有表結構和資料:
mysqldump -uroot -p123456 -h192.168.0.1 mysqldatabase> mysql.sql
匯入資料:source E:\mysql.sql
mysqldump命令中帶有一個 --where/-w 參數,它用來設定資料匯出的條件,使用方式和SQL查詢命令中中的where基本上相同,有了它,我們就可以從資料庫中匯出你需要的那部分資料了。
命令格式如下:
mysqldump -u使用者名稱 -p密碼 資料庫名 表名 --where="篩選條件" > 匯出檔案路徑
例子:
從meteo資料庫的sdata表中匯出sensorid=11 且 fieldid=0的資料到 /home/xyx/Temp.sql 這個檔案中
mysqldump -uroot -p123456 meteo sdata --where=" sensorid=11 and fieldid=0" > /home/xyx/Temp.sql
Mysql基本指令