一、幾個簡單命令介紹
1.show [global | session] variables,默認爲session
作用:顯示服務器參數變量,有些變量值可以修改,能改變mysql的工作特性;有些可以動態調整,即刻生效;另外一些只能修改配置文件後,重啓生效。
2.show [global | session] status
作用:顯示服務器狀態變量,記錄了當前包括過去的時間內mysql的運行統計數據
二、添加MAN手冊
[root@client ~]# vim /etc/man.config MANPATH /usr/local/mysql/man
連接頭文件
[root@client ~]# ln –sv /usr/local/mysql/include /usr/include/mysql [root@client ~]# vim/etc/ld.so.conf.d/mysql.conf /usr/local/mysql/lib [root@client ~]# ldconfig –v | grep mysql
三、客戶端連接MySQL
1.安裝完成後,有個root用戶,默認密碼爲空
[root@client ~]# mysql -uroot -p Enter password:
2.查看有哪些數據庫
mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.03 sec)
注意:MySQL客戶端執行命令時候,無需語句結束符;服務器端命令(特指SQL語句),必須有語句結束符,默認爲分號。
3.選擇要使用的數據庫
mysql> use mysql Database changed
這裏選擇使用安裝後即存在的名爲mysql數據庫,我們選擇其中的user表來查詢相關信息
mysql> SELECT user,host,password FROMuser; +------+------------+----------+ | user | host | password | +------+------------+----------+ | root | localhost | | | root | client.com | | | root | 127.0.0.1 | | | root | ::1 | | | | localhost | | | | client.com | | +------+------------+----------+ 6 rows in set (0.00 sec)
4.使用幫助命令
mysql> help For information about MySQL products andservices, visit: http://www.mysql.com/ For developer information, including theMySQL Reference Manual, visit: http://dev.mysql.com/ To buy MySQL Enterprise support, training,or other products, visit: https://shop.mysql.com/ List of all MySQL commands: Note that all text commands must be firston line and end with ';' ? (\?) Synonym for `help'. clear (\c) Clear the current input statement. connect (\r) Reconnect to the server. Optional arguments are db and host. delimiter (\d) Set statement delimiter. edit (\e) Edit command with $EDITOR. ego (\G) Send command to mysql server, display result vertically. exit (\q) Exit mysql. Same as quit. go (\g) Send command to mysql server. help (\h) Display this help. nopager (\n) Disable pager, print to stdout. notee (\t) Don't write into outfile. pager (\P) Set PAGER [to_pager]. Print the query results via PAGER. print (\p) Print current command. prompt (\R) Change your mysql prompt. quit (\q) Quit mysql. rehash (\#) Rebuild completion hash. source (\.) Execute an SQL script file. Takes a file name as an argument. status (\s) Get status information from the server. system (\!) Execute a system shell command. tee (\T) Set outfile [to_outfile]. Append everything into given outfile. use (\u) Use another database. Takes database name as argument. charset (\C) Switch to another charset. Might be needed for processing binlogwith multi-byte charsets. warnings (\W) Show warnings after every statement. nowarning (\w) Don't show warnings afterevery statement. For server side help, type 'help contents'
四、用戶管理
1.創建用戶
格式:CREATE USER 'username'@'host' IDENTIFIED BY 'password';
mysql> CREATE USER 'pyz'@'192.168.5.%'IDENTIFIED BY 'mypass'; Query OK, 0 rows affected (0.00 sec)
注意:這裏主機IP地址中的“%”表示匹配任意長度的任意字符
修改數據後刷新
mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)
再次查看user表中的字段,發現新增的用戶“pyz”被賦予了密碼
mysql> SELECT user,host,password FROMuser; +------+----------------+-------------------------------------------+ | user | host | password | +------+----------------+-------------------------------------------+ | root | localhost | | | root | client.com | | | root | 127.0.0.1 | | | root | ::1 | | | | localhost | | | | client.com | | | pyz | 192.168.5.0/24 | *6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4 | +------+----------------+-------------------------------------------+ 7 rows in set (0.00 sec)
2.用戶授權
格式:GRANT ALL ON dbname.tablename TO 'username'@'host';
例子:給來自192.168.5.0/24網段的pyz用戶授予test數據庫中所有表的所有權限
mysql> GRANT ALL ON test.* TO'pyz'@'192.168.5.%'; Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)
再次查看所以數據庫,多了名爲test的數據庫
mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.00 sec)
切換到test數據庫
mysql> USE test; Database changed mysql> SELECT * FROM test; ERROR 1146 (42S02): Table 'test.test'doesn't exist mysql> \q //退出數據庫 Bye
提示test數據庫下的test表不存在
3.修改用戶密碼
方法一:SQL語句修改SET PASSWORD FOR username@host=PASSWORD(’password’);
方法二:SHELL下修改mysqladmin -uusername -p password 'password'
例子:修改root用戶的密碼爲mypasswd
[root@client ~]# mysqladmin -uroot -p password'mypasswd' Enter password: //輸入修改前的密碼
再次連接mysql,提示需要輸入密碼
[root@client ~]# mysql ERROR 1045 (28000): Access denied for user'root'@'localhost' (using password: NO)
以輸入用戶名和密碼的方式連接MySQL
[root@client~]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 Server version: 5.5.33-log MySQL CommunityServer (GPL) Copyright (c) 2000, 2013, Oracle and/or itsaffiliates. All rights reserved. Oracle is a registered trademark of OracleCorporation and/or its affiliates. Other names may be trademarksof their respective owners. Type 'help;' or '\h' for help. Type '\c' toclear the current input statement.
切換到mysql數據庫
mysql> use mysql Database changed mysql> SELECT user,host,password FROM user; +------+----------------+-------------------------------------------+ | user | host | password | +------+----------------+-------------------------------------------+ | root | localhost | *85E26B8AB29FEE8453201A3511DAE24A24059109| | root | client.com | | | root | 127.0.0.1 | | | root | ::1 | | | | localhost | | | | client.com | | | pyz | 192.168.5.0/24 | *6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4 | | pyz | 192.168.5.%.% |*6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4 | | pyz | 192.168.5.% | | +------+----------------+-------------------------------------------+ 9 rows in set (0.01 sec)
4.刪除用戶
爲了安全起見,這裏我們刪除了密碼爲空的用戶
格式:DROP USER 'uname'@'host';
mysql> DROP USER 'pyz'@'192.168.5.0/24'; Query OK, 0 rows affected (0.00 sec)
mysql> SELECT user,host,password FROMuser; +------+---------------+-------------------------------------------+ | user | host | password | +------+---------------+-------------------------------------------+ | root | localhost |*85E26B8AB29FEE8453201A3511DAE24A24059109 | | root | client.com | | | root | 127.0.0.1 | | | root | ::1 | | | | localhost | | | | client.com | | | pyz | 192.168.5.%.% | *6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4 | | pyz | 192.168.5.% | | +------+---------------+-------------------------------------------+ 8 rows in set (0.00 sec)
mysql> DROP USER 'root'@'::1'; Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)
mysql> SELECT user,host,password FROMuser; +------+---------------+-------------------------------------------+ | user | host | password | +------+---------------+-------------------------------------------+ | root | localhost |*85E26B8AB29FEE8453201A3511DAE24A24059109 | | root | client.com | | | root | 127.0.0.1 | | | | localhost | | | | client.com | | | pyz | 192.168.5.%.% | *6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4 | | pyz | 192.168.5.% | | +------+---------------+-------------------------------------------+ 7 rows in set (0.00 sec)
刪除匿名用戶
mysql> DROP USER ''@'localhost'; Query OK, 0 rows affected (0.01 sec) mysql> DROP USER ''@'client.com'; Query OK, 0 rows affected (0.00 sec)
mysql> SELECT user,host,password FROMuser; +------+---------------+-------------------------------------------+ | user | host | password | +------+---------------+-------------------------------------------+ | root | localhost |*85E26B8AB29FEE8453201A3511DAE24A24059109 | | root | client.com | | | root | 127.0.0.1 | | | pyz | 192.168.5.%.% | *6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4 | | pyz | 192.168.5.% | | +------+---------------+-------------------------------------------+ 5 rows in set (0.00 sec)
另一種爲用戶添加密碼驗證的示例
mysql> SET PASSWORD FOR'root'@'client.com'=PASSWORD('mypasswd'); Query OK, 0 rows affected (0.00 sec)
mysql> SET PASSWORD FOR'root'@'127.0.0.1'=PASSWORD('mypasswd'); Query OK, 0 rows affected (0.00 sec)
mysql> SELECT user,host,password FROM user; +------+---------------+-------------------------------------------+ | user | host | password | +------+---------------+-------------------------------------------+ | root | localhost |*85E26B8AB29FEE8453201A3511DAE24A24059109 | | root | client.com | *85E26B8AB29FEE8453201A3511DAE24A24059109| | root | 127.0.0.1 |*85E26B8AB29FEE8453201A3511DAE24A24059109 | | pyz | 192.168.5.%.% | *6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4 | | pyz | 192.168.5.% | | +------+---------------+-------------------------------------------+ 5 rows in set (0.00 sec)
mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)
mysql> SELECT DATABASE() -> \g +------------+ | DATABASE() | +------------+ | mysql | +------------+ 1 row in set (0.00 sec)
五、相關命令講解
quit,\q:退出
go,\g:將命令發送到server
delimiter,\d:指定終止符,例如:mysql> \d //將之前的終止符“;”換成“//”
use,\u:設置默認數據庫
ego,\G:將每一行的數據縱向顯示
system,\!:不退出sql查看linux系統文件,例如:>\! ls /root
status,\s:顯示當前工作狀態
MySQL兩種執行方式
交互方式:-h,--host=
-u,--user=
-p,--password=
-D db_name,--database= //將數據庫設爲默認數據庫
-e,’SQL_statement’ //不登陸sql,只運行命令,取回結果
例:
[root@client~]# mysql --user=root --host=localhost --password=mypasswd --database=mysql -e'SELECT user,host,password FROM user;' +------+---------------+-------------------------------------------+ | user | host | password | +------+---------------+-------------------------------------------+ | root | localhost |*85E26B8AB29FEE8453201A3511DAE24A24059109 | | root | client.com | *85E26B8AB29FEE8453201A3511DAE24A24059109| | root | 127.0.0.1 | *85E26B8AB29FEE8453201A3511DAE24A24059109| | pyz | 192.168.5.%.% | *6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4 | | pyz | 192.168.5.% | | +------+---------------+-------------------------------------------+
批處理方式:(使用SQL腳本)
mysqloption < scripts.sql (輸入重定向)
mysql> source /path/to/scripts.sql (要有權限讀取)
例:
[root@client ~]# vim test.sql CREATE DATABASE wpdb; CREATE USER ‘wpuser’@’192.168.5.%’IDENTIFIED BY ‘wppass’ CREATE USER ‘wpuser’@’localhost’ IDENTIFIEDBY ‘wppass’ CREATE USER ‘wpuser’@’127.0.0.1’ IDENTIFIEDBY ‘wppass’ GRANT ALL ON wpdb.* TO'wpuser'@'192.168.5.%'; GRANT ALL ON wpdb.* TO 'wpuser'@' localhost'; GRANT ALL ON wpdb.* TO 'wpuser'@'127.0.0.1'; "test.sql" [New] 7L, 332Cwritten
讀入腳本
[root@client ~]# mysql -uroot -pmypasswd< test.sql [root@client ~]# mysql -uroot -pmypasswd Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 13 Server version: 5.5.33-log MySQL CommunityServer (GPL) Copyright (c) 2000, 2013, Oracle and/or itsaffiliates. All rights reserved. Oracle is a registered trademark of OracleCorporation and/or its affiliates. Other names may be trademarksof their respective owners. Type 'help;' or '\h' for help. Type '\c' toclear the current input statement.
查看數據庫
mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | | wpdb | +--------------------+ 5 rows in set (0.00 sec)
再次查看,發現新增了用戶
mysql> use mysql Database changed mysql> SELECT user,host,password FROMuser; +--------+---------------+-------------------------------------------+ | user | host | password | +--------+---------------+-------------------------------------------+ | root | localhost |*85E26B8AB29FEE8453201A3511DAE24A24059109 | | root | client.com |*85E26B8AB29FEE8453201A3511DAE24A24059109 | | root | 127.0.0.1 |*85E26B8AB29FEE8453201A3511DAE24A24059109 | | wpuser | 192.168.5.% | *C9B2DB1CA193280B971CA3602D5174A5D637D2BF| | pyz | 192.168.5.%.% | *6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4 | | pyz | 192.168.5.% | | | wpuser | localhost |*C9B2DB1CA193280B971CA3602D5174A5D637D2BF | | wpuser | 127.0.0.1 |*C9B2DB1CA193280B971CA3602D5174A5D637D2BF | +--------+---------------+-------------------------------------------+ 8 rows in set (0.00 sec)
六、MySQL配置文件存放路徑
/etc/my.cnf
/etc/mysql/my.cnf
$MYSQL_BASE/my.cnf
~/.my.cnf
客戶端每次登陸MySQL時都需要輸入用戶名和密碼,爲了簡化這個過程,我們可在用戶家目錄下新建一個.my.cnf文件,將用戶名和密碼寫入其中
例:
[root@client ~]# cd [root@client ~]# vim .my.cnf [client] user=root host=localhost password=mypass
修改權限
[root@client ~]# chmod 600 .my.cnf [root@client ~]# mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 15 Server version: 5.5.33-log MySQL CommunityServer (GPL) Copyright (c) 2000, 2013, Oracle and/or itsaffiliates. All rights reserved. Oracle is a registered trademark of OracleCorporation and/or its affiliates. Other names may be trademarksof their respective owners. Type 'help;' or '\h' for help. Type '\c' toclear the current input statement.
七、字符集
1.顯示所支持的所有字符集
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset | Description |Default collation | Maxlen |
+----------+-----------------------------+---------------------+--------+
| big5 | Big5 Traditional Chinese |big5_chinese_ci | 2 |
| dec8 | DEC West European |dec8_swedish_ci | 1 |
| cp850 | DOS West European |cp850_general_ci | 1 |
| hp8 | HP West European |hp8_english_ci | 1 |
| koi8r | KOI8-R Relcom Russian |koi8r_general_ci | 1 |
| latin1 | cp1252 West European |latin1_swedish_ci | 1 |
| latin2 | ISO 8859-2 Central European | latin2_general_ci | 1 |
| swe7 | 7bit Swedish |swe7_swedish_ci | 1 |
| ascii | US ASCII |ascii_general_ci | 1 |
| ujis | EUC-JP Japanese |ujis_japanese_ci | 3 |
| sjis | Shift-JIS Japanese |sjis_japanese_ci | 2 |
| hebrew | ISO 8859-8 Hebrew |hebrew_general_ci | 1 |
| tis620 | TIS620 Thai |tis620_thai_ci | 1 |
| euckr | EUC-KR Korean | euckr_korean_ci | 2 |
| koi8u | KOI8-U Ukrainian |koi8u_general_ci | 1 |
| gb2312 | GB2312 Simplified Chinese |gb2312_chinese_ci | 2 |
| greek | ISO 8859-7 Greek |greek_general_ci | 1 |
| cp1250 | Windows Central European |cp1250_general_ci | 1 |
| gbk | GBK Simplified Chinese |gbk_chinese_ci | 2 |
| latin5 | ISO 8859-9 Turkish | latin5_turkish_ci | 1 |
| armscii8 | ARMSCII-8 Armenian | armscii8_general_ci | 1 |
| utf8 | UTF-8 Unicode |utf8_general_ci | 3 |
| ucs2 | UCS-2 Unicode |ucs2_general_ci | 2 |
| cp866 | DOS Russian |cp866_general_ci | 1 |
| keybcs2 | DOS Kamenicky Czech-Slovak |keybcs2_general_ci | 1 |
| macce | Mac Central European |macce_general_ci | 1 |
| macroman | Mac West European | macroman_general_ci | 1 |
| cp852 | DOS Central European |cp852_general_ci | 1 |
| latin7 | ISO 8859-13 Baltic |latin7_general_ci | 1 |
| utf8mb4 | UTF-8 Unicode |utf8mb4_general_ci | 4 |
| cp1251 | Windows Cyrillic |cp1251_general_ci | 1 |
| utf16 | UTF-16 Unicode |utf16_general_ci | 4 |
| cp1256 | Windows Arabic |cp1256_general_ci | 1 |
| cp1257 | Windows Baltic |cp1257_general_ci | 1 |
| utf32 | UTF-32 Unicode |utf32_general_ci | 4 |
| binary | Binary pseudo charset |binary | 1 |
| geostd8 | GEOSTD8 Georgian |geostd8_general_ci | 1 |
| cp932 | SJIS for Windows Japanese |cp932_japanese_ci | 2 |
| eucjpms | UJIS for Windows Japanese |eucjpms_japanese_ci | 3 |
+----------+-----------------------------+---------------------+--------+
39 rows in set (0.03 sec)
2.顯示所有字符集的排序規則
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation | Charset | Id |Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci | big5 | 1 | Yes | Yes | 1 |
| big5_bin | big5 | 84 | | Yes | 1 |
| dec8_swedish_ci | dec8 | 3 | Yes | Yes | 1 |
| dec8_bin | dec8 | 69 | | Yes | 1 |
| cp850_general_ci | cp850 | 4| Yes | Yes | 1 |
| cp850_bin | cp850 | 80| | Yes | 1 |
| hp8_english_ci | hp8 | 6 | Yes | Yes | 1 |
| hp8_bin | hp8 | 72 | | Yes | 1 |
| koi8r_general_ci | koi8r | 7| Yes | Yes | 1 |
| koi8r_bin | koi8r | 74| | Yes | 1 |
| latin1_german1_ci | latin1 | 5| | Yes | 1 |
| latin1_swedish_ci | latin1 | 8| Yes | Yes | 1 |
| latin1_danish_ci | latin1 | 15 | | Yes | 1 |
| latin1_german2_ci | latin1 | 31| | Yes | 2 |
| latin1_bin | latin1 | 47| | Yes | 1 |
| latin1_general_ci | latin1 | 48| | Yes | 1 |
| latin1_general_cs | latin1 | 49| | Yes | 1 |
| latin1_spanish_ci | latin1 | 94| | Yes | 1 |
| latin2_czech_cs | latin2 | 2| | Yes | 4 |
| latin2_general_ci | latin2 | 9| Yes | Yes | 1 |
| latin2_hungarian_ci | latin2 | 21 | | Yes | 1 |
| latin2_croatian_ci | latin2 | 27| | Yes | 1 |
| latin2_bin | latin2 | 77 | | Yes | 1 |
| swe7_swedish_ci | swe7 | 10 | Yes | Yes | 1 |
| swe7_bin | swe7 | 82 | | Yes | 1 |
| ascii_general_ci | ascii | 11| Yes | Yes | 1 |
| ascii_bin | ascii | 65| | Yes | 1 |
| ujis_japanese_ci | ujis | 12 | Yes | Yes | 1 |
| ujis_bin | ujis | 91 | | Yes | 1 |
| sjis_japanese_ci | sjis | 13 | Yes | Yes | 1 |
| sjis_bin | sjis | 88 | | Yes | 1 |
| hebrew_general_ci |hebrew | 16 | Yes | Yes | 1 |
| hebrew_bin | hebrew | 71| | Yes | 1 |
| tis620_thai_ci | tis620 | 18| Yes | Yes | 4 |
| tis620_bin | tis620 | 89| | Yes | 1 |
| euckr_korean_ci | euckr | 19| Yes | Yes | 1 |
| euckr_bin | euckr | 85| | Yes | 1 |
| koi8u_general_ci | koi8u | 22| Yes | Yes | 1 |
| koi8u_bin | koi8u | 75| | Yes | 1 |
| gb2312_chinese_ci | gb2312 | 24| Yes | Yes | 1 |
| gb2312_bin | gb2312 | 86| | Yes | 1 |
| greek_general_ci | greek | 25 | Yes | Yes | 1 |
| greek_bin | greek | 70| | Yes | 1 |
| cp1250_general_ci | cp1250 | 26| Yes | Yes | 1 |
| cp1250_czech_cs | cp1250 | 34| | Yes | 2 |
| cp1250_croatian_ci | cp1250 | 44| | Yes | 1 |
| cp1250_bin | cp1250 | 66| | Yes | 1 |
| cp1250_polish_ci | cp1250 | 99| | Yes | 1 |
| gbk_chinese_ci | gbk | 28 | Yes | Yes | 1 |
| gbk_bin | gbk | 87 | | Yes | 1 |
| latin5_turkish_ci | latin5 | 30| Yes | Yes | 1 |
| latin5_bin | latin5 | 78 | | Yes | 1 |
| armscii8_general_ci | armscii8 | 32 | Yes | Yes | 1 |
| armscii8_bin | armscii8 | 64 | | Yes | 1 |
| utf8_general_ci | utf8 | 33 | Yes | Yes | 1 |
| utf8_bin | utf8 | 83 | | Yes | 1 |
| utf8_unicode_ci | utf8 | 192 | | Yes | 8 |
| utf8_icelandic_ci | utf8 | 193 | | Yes | 8 |
| utf8_latvian_ci | utf8 | 194 | | Yes | 8 |
| utf8_romanian_ci | utf8 | 195 | | Yes | 8 |
| utf8_slovenian_ci |utf8 | 196 | | Yes | 8 |
| utf8_polish_ci | utf8 | 197 | | Yes | 8 |
| utf8_estonian_ci | utf8 | 198 | | Yes | 8 |
| utf8_spanish_ci | utf8 | 199 | | Yes | 8 |
| utf8_swedish_ci | utf8 | 200 | | Yes | 8 |
| utf8_turkish_ci | utf8 | 201 | | Yes | 8 |
| utf8_czech_ci | utf8 | 202 | | Yes | 8 |
| utf8_danish_ci | utf8 | 203 | | Yes | 8 |
| utf8_lithuanian_ci | utf8 | 204 | | Yes | 8 |
| utf8_slovak_ci | utf8 | 205 | | Yes | 8 |
| utf8_spanish2_ci | utf8 | 206 | | Yes | 8 |
| utf8_roman_ci | utf8 | 207 | | Yes | 8 |
| utf8_persian_ci | utf8 | 208 | | Yes | 8 |
| utf8_esperanto_ci | utf8 | 209 | | Yes | 8 |
| utf8_hungarian_ci | utf8 | 210 | | Yes | 8 |
| utf8_sinhala_ci | utf8 | 211 | | Yes | 8 |
| utf8_general_mysql500_ci | utf8 | 223 | | Yes | 1 |
| ucs2_general_ci | ucs2 | 35 | Yes | Yes | 1 |
| ucs2_bin | ucs2 | 90 | | Yes | 1 |
| ucs2_unicode_ci | ucs2 | 128 | | Yes | 8 |
| ucs2_icelandic_ci |ucs2 | 129 | | Yes | 8 |
| ucs2_latvian_ci | ucs2 | 130 | | Yes | 8 |
| ucs2_romanian_ci | ucs2 | 131 | | Yes | 8 |
| ucs2_slovenian_ci | ucs2 | 132 | | Yes | 8 |
| ucs2_polish_ci | ucs2 | 133 | | Yes | 8 |
| ucs2_estonian_ci | ucs2 | 134 | | Yes | 8 |
| ucs2_spanish_ci | ucs2 | 135 | | Yes | 8 |
| ucs2_swedish_ci | ucs2 | 136 | | Yes | 8 |
| ucs2_turkish_ci | ucs2 | 137 | | Yes | 8 |
| ucs2_czech_ci | ucs2 | 138 | | Yes | 8 |
| ucs2_danish_ci | ucs2 | 139 | | Yes | 8 |
| ucs2_lithuanian_ci | ucs2 | 140 | | Yes | 8 |
| ucs2_slovak_ci | ucs2 | 141 | | Yes | 8 |
| ucs2_spanish2_ci | ucs2 | 142 | | Yes | 8 |
| ucs2_roman_ci | ucs2 | 143 | | Yes | 8 |
| ucs2_persian_ci | ucs2 | 144 | | Yes | 8 |
| ucs2_esperanto_ci | ucs2 | 145 | | Yes | 8 |
| ucs2_hungarian_ci | ucs2 | 146 | | Yes | 8 |
| ucs2_sinhala_ci | ucs2 | 147 | | Yes | 8 |
| ucs2_general_mysql500_ci | ucs2 | 159 | | Yes | 1 |
| cp866_general_ci | cp866 | 36| Yes | Yes | 1 |
| cp866_bin | cp866 | 68| | Yes | 1 |
| keybcs2_general_ci | keybcs2 | 37 |Yes | Yes | 1 |
| keybcs2_bin | keybcs2 | 73| | Yes | 1 |
| macce_general_ci | macce | 38| Yes | Yes | 1 |
| macce_bin | macce | 43| | Yes | 1 |
| macroman_general_ci | macroman | 39 | Yes | Yes | 1 |
| macroman_bin | macroman | 53 | | Yes | 1 |
| cp852_general_ci | cp852 | 40| Yes | Yes | 1 |
| cp852_bin | cp852 | 81 | | Yes | 1 |
| latin7_estonian_cs | latin7 | 20| | Yes | 1 |
| latin7_general_ci | latin7 | 41| Yes | Yes | 1 |
| latin7_general_cs | latin7 | 42| | Yes | 1 |
| latin7_bin | latin7 | 79| | Yes | 1 |
| utf8mb4_general_ci | utf8mb4 | 45 |Yes | Yes | 1 |
| utf8mb4_bin | utf8mb4 | 46| | Yes | 1 |
| utf8mb4_unicode_ci | utf8mb4 | 224 | | Yes | 8 |
| utf8mb4_icelandic_ci | utf8mb4 | 225 | | Yes | 8 |
| utf8mb4_latvian_ci |utf8mb4 | 226 | | Yes | 8 |
| utf8mb4_romanian_ci | utf8mb4 | 227 | | Yes | 8 |
| utf8mb4_slovenian_ci | utf8mb4 | 228 | | Yes | 8 |
| utf8mb4_polish_ci | utf8mb4 | 229 | | Yes | 8 |
| utf8mb4_estonian_ci | utf8mb4 | 230 | | Yes | 8 |
| utf8mb4_spanish_ci | utf8mb4 | 231 | | Yes | 8 |
| utf8mb4_swedish_ci | utf8mb4 | 232 | | Yes | 8 |
| utf8mb4_turkish_ci | utf8mb4 | 233 | | Yes | 8 |
| utf8mb4_czech_ci | utf8mb4 | 234 | | Yes | 8 |
| utf8mb4_danish_ci | utf8mb4 | 235 | | Yes | 8 |
| utf8mb4_lithuanian_ci | utf8mb4 | 236 | | Yes | 8 |
| utf8mb4_slovak_ci | utf8mb4 | 237 | | Yes | 8 |
| utf8mb4_spanish2_ci | utf8mb4 | 238 | | Yes | 8 |
| utf8mb4_roman_ci | utf8mb4 | 239 | | Yes | 8 |
| utf8mb4_persian_ci | utf8mb4 | 240 | | Yes | 8 |
| utf8mb4_esperanto_ci | utf8mb4 | 241 | | Yes | 8 |
| utf8mb4_hungarian_ci | utf8mb4 | 242 | | Yes | 8 |
| utf8mb4_sinhala_ci | utf8mb4 | 243 | | Yes | 8 |
| cp1251_bulgarian_ci | cp1251 | 14 | | Yes | 1 |
| cp1251_ukrainian_ci | cp1251 | 23 | | Yes | 1 |
| cp1251_bin | cp1251 | 50 | | Yes | 1 |
| cp1251_general_ci | cp1251 | 51| Yes | Yes | 1 |
| cp1251_general_cs | cp1251 | 52| | Yes | 1 |
| utf16_general_ci | utf16 | 54| Yes | Yes | 1 |
| utf16_bin | utf16 | 55| | Yes | 1 |
| utf16_unicode_ci | utf16 | 101 | | Yes | 8 |
| utf16_icelandic_ci | utf16 | 102 | | Yes | 8 |
| utf16_latvian_ci | utf16 | 103 | | Yes | 8 |
| utf16_romanian_ci | utf16 | 104 | | Yes | 8 |
| utf16_slovenian_ci |utf16 | 105 | | Yes | 8 |
| utf16_polish_ci | utf16 | 106 | | Yes | 8 |
| utf16_estonian_ci | utf16 | 107 | | Yes | 8 |
| utf16_spanish_ci | utf16 | 108 | | Yes | 8 |
| utf16_swedish_ci | utf16 | 109 | | Yes | 8 |
| utf16_turkish_ci | utf16 | 110 | | Yes | 8 |
| utf16_czech_ci | utf16 | 111 | | Yes | 8 |
| utf16_danish_ci | utf16 | 112 | | Yes | 8 |
| utf16_lithuanian_ci | utf16 | 113 | | Yes | 8 |
| utf16_slovak_ci | utf16 | 114 | | Yes | 8 |
| utf16_spanish2_ci |utf16 | 115 | | Yes | 8 |
| utf16_roman_ci | utf16 | 116 | | Yes | 8 |
| utf16_persian_ci | utf16 | 117 | | Yes | 8 |
| utf16_esperanto_ci | utf16 | 118 | | Yes | 8 |
| utf16_hungarian_ci | utf16 | 119 | | Yes | 8 |
| utf16_sinhala_ci | utf16 | 120 | | Yes | 8 |
| cp1256_general_ci | cp1256 | 57| Yes | Yes | 1 |
| cp1256_bin | cp1256 | 67| | Yes | 1 |
| cp1257_lithuanian_ci | cp1257 | 29 | | Yes | 1 |
| cp1257_bin | cp1257 | 58| | Yes | 1 |
| cp1257_general_ci |cp1257 | 59 | Yes | Yes | 1 |
| utf32_general_ci | utf32 | 60| Yes | Yes | 1 |
| utf32_bin | utf32 | 61| | Yes | 1 |
| utf32_unicode_ci | utf32 | 160 | | Yes | 8 |
| utf32_icelandic_ci | utf32 | 161 | | Yes | 8 |
| utf32_latvian_ci | utf32 | 162 | | Yes | 8 |
| utf32_romanian_ci | utf32 | 163 | | Yes | 8 |
| utf32_slovenian_ci | utf32 | 164 | | Yes | 8 |
| utf32_polish_ci | utf32 | 165 | | Yes | 8 |
| utf32_estonian_ci |utf32 | 166 | | Yes | 8 |
| utf32_spanish_ci | utf32 | 167 | | Yes | 8 |
| utf32_swedish_ci | utf32 | 168 | | Yes | 8 |
| utf32_turkish_ci | utf32 | 169 | | Yes | 8 |
| utf32_czech_ci | utf32 | 170 | | Yes | 8 |
| utf32_danish_ci | utf32 | 171 | | Yes | 8 |
| utf32_lithuanian_ci | utf32 | 172 | | Yes | 8 |
| utf32_slovak_ci | utf32 | 173 | | Yes | 8 |
| utf32_spanish2_ci | utf32 | 174 | | Yes | 8 |
| utf32_roman_ci | utf32 | 175 | | Yes | 8 |
| utf32_persian_ci | utf32 | 176 | | Yes | 8 |
| utf32_esperanto_ci | utf32 | 177 | | Yes | 8 |
| utf32_hungarian_ci | utf32 | 178 | | Yes | 8 |
| utf32_sinhala_ci | utf32 | 179 | | Yes | 8 |
| binary | binary | 63| Yes | Yes | 1 |
| geostd8_general_ci | geostd8 | 92 |Yes | Yes | 1 |
| geostd8_bin | geostd8 | 93| | Yes | 1 |
| cp932_japanese_ci | cp932 | 95| Yes | Yes | 1 |
| cp932_bin | cp932 | 96| | Yes | 1 |
| eucjpms_japanese_ci | eucjpms | 97 | Yes | Yes | 1 |
| eucjpms_bin | eucjpms | 98 | | Yes | 1 |
+--------------------------+----------+-----+---------+----------+---------+
197 rows in set (0.00 sec)
八、表的操作
1.創建表
格式:CREATE TABLE dbname.tablename(col1 defination, col2 defination, col3 defination,…, key defination);
mysql> CREATE TABLE test.students (NameCHAR(30) NOT NULL,id TINYINT UNSIGNED,Age TINYINT UNSIGNED,Class VARCHAR(20)NOT NULL,PRIMARY KEY (Name)); Query OK, 0 rows affected (0.08 sec)
查看剛纔創建的表
mysql>USE test Database changed mysql>DESC students;
+-------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra|
+-------+---------------------+------+-----+---------+-------+
| Name | char(30) | NO | PRI | NULL | |
| id | tinyint(3) unsigned | YES | | NULL | |
| Age | tinyint(3) unsigned | YES | | NULL | |
| Class | varchar(20) | NO | | NULL | |
+-------+---------------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
查看索引
mysql>SHOW INDEX FROM students;
+----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation |Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| students | 0 | PRIMARY | 1 | Name | A | 0 | NULL | NULL | | BTREE | | |
+----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
1 row in set (0.00 sec)
以縱向的方式查看數據
mysql>SHOW INDEX FROM students\G
*************************** 1. row***************************
Table: students
Non_unique: 0
Key_name: PRIMARY
Seq_in_index: 1
Column_name: Name
Collation: A
Cardinality: 0
Sub_part: NULL
Packed: NULL
Null:
Index_type: BTREE
Comment:
Index_comment:
1 row in set (0.00 sec)
mysql> SELECT Name,id,Age,Class FROM students; Empty set (0.00 sec)
mysql> INSERT INTO students(name,id,class) values ('Jerry',1,'2 class'); Query OK, 1 row affected (0.02 sec)
mysql> SELECT Name,id,class FROMstudents;
+-------+------+---------+
| Name | id | class |
+-------+------+---------+
| Jerry | 1 | 2 class |
+-------+------+---------+
1 row in set (0.00 sec)
mysql> INSERT INTO students values('Tom',2,30,'1 class'); Query OK, 1 row affected (0.01 sec)
mysql> SELECT Name,id,class FROMstudents;
+-------+------+---------+
| Name | id | class |
+-------+------+---------+
| Jerry | 1 | 2 class |
| Tom | 2 | 1 class |
+-------+------+---------+
2 rows in set (0.00 sec)
mysql> SELECT Name,id,Age,class FROMstudents;
+-------+------+------+---------+
| Name | id | Age | class |
+-------+------+------+---------+
| Jerry | 1 | NULL | 2 class |
| Tom | 2 | 30 | 1 class |
+-------+------+------+---------+
2 rows in set (0.00 sec)
mysql> INSERT INTO students(name,id,class) values ('Blair',3,'2 class'); Query OK, 1 row affected (0.01 sec)
mysql> SELECT Name,id,Age,class FROMstudents;
+-------+------+------+---------+
| Name | id | Age | class |
+-------+------+------+---------+
| Blair | 3 | NULL | 2 class |
| Jerry | 1 | NULL | 2 class |
| Tom | 2 | 30 | 1 class |
+-------+------+------+---------+
3 rows in set (0.00 sec)
九、實例演示
1.創建一個名爲testdb的數據庫
mysql> CREATE DATABASE testdb; Query OK, 1 row affected (0.00 sec)
mysql> USE testdb; Database changed
2.創建一個名爲ta1的表,並設計表的結構
mysql> CREATE TABLE testdb.tb1 (IDTINYINT NOT NULL PRIMARY KEY AUTO_INCREMENT,Name CHAR(30) NOT NULL UNIQUEKEY,Age TINYINT UNSIGN)mysql> CREATE TABLE testdb.tb1 (ID TINYINT NOT NULLPRIMARY KEY AUTO_INCREMENT,Name CHAR(30) NOT NULL UNIQUE KEY,Age TINYINTUNSIGNED,Gender CHAR(1) DEFAULT 'M',Course VARCHAR(50) NOT NULL); Query OK, 0 rows affected (0.01 sec)
查看剛纔創建的表
mysql> DESC tb1;
+--------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key| Default | Extra |
+--------+---------------------+------+-----+---------+----------------+
| ID | tinyint(4) | NO | PRI | NULL | auto_increment |
| Name | char(30) | NO | UNI | NULL | |
| Age | tinyint(3) unsigned | YES | | NULL | |
| Gender | char(1) | YES | |M | |
| Course | varchar(50) | NO | | NULL | |
+--------+---------------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)
3.插入數據
mysql> INSERT INTO tb1 values(1,'LingHuchong',24,'Male','Hamogong'); Query OK, 1 row affected, 1 warning (0.01sec) mysql> INSERT INTO tb1 values(2,'HuangRong',19,'Female','ChilianShenzhang'); Query OK, 1 row affected, 1 warning (0.01sec) mysql> INSERT INTO tb1 values(3,'LuWushuang',18,'Female','JiuyangShengong'); Query OK, 1 row affected, 1 warning (0.03sec) mysql> INSERT INTO tb1 values(4,'ZhuZiliu',52,'Male','PiXieJianfa'); Query OK, 1 row affected, 1 warning (0.00sec) mysql> INSERT INTO tb1 values(5,'ChenJialuo',22,'Female','XianglongShibazhang'); Query OK, 1 row affected, 1 warning (0.01sec)
4.查看剛纔插入的數據
mysql> SELECT ID,Name,Age,Gender,CourseFROM tb1;
+----+-------------+------+--------+---------------------+
| ID | Name | Age | Gender | Course |
+----+-------------+------+--------+---------------------+
| 1| LingHuchong | 24 | M | Hamogong |
| 2| HuangRong | 19 | F | ChilianShenzhang |
| 3| LuWushuang | 18 | F | JiuyangShengong |
| 4| ZhuZiliu | 52 | M | PiXieJianfa |
| 5| ChenJialuo | 22 | F | XianglongShibazhang |
+----+-------------+------+--------+---------------------+
5 rows in set (0.00 sec)
5.完成以下操作:
(1)找出性別爲女性的所有人
mysql> SELECT Name FROM tb1 WHEREGender='F';
+------------+
| Name |
+------------+
| HuangRong |
| LuWushuang |
| ChenJialuo |
+------------+
3 rows in set (0.00 sec)
(2)找出年齡大於20的所有人
mysql> SELECT Name FROM tb1 WHEREAge>20;
+-------------+
| Name |
+-------------+
| LingHuchong |
| ZhuZiliu |
| ChenJialuo |
+-------------+
3 rows in set (0.00 sec)
(3)修改ZhuZiliu的Course爲KuihuaBaodian
mysql> UPDATE tb1 SETCourse='KuihuaBaodian' WHERE Name='ZhuZiliu';
Query OK, 1 row affected (0.09 sec)
Rows matched: 1 Changed: 1 Warnings: 0
(4)刪除年齡小於等於19的所有人
mysql> DELETE FROM tb1 WHERE Age<=19; Query OK, 2 rows affected (0.01 sec)
mysql> SELECT ID,Name,Age,Gender,CourseFROM tb1;
+----+-------------+------+--------+---------------------+
| ID | Name | Age | Gender | Course |
+----+-------------+------+--------+---------------------+
| 1| LingHuchong | 24 | M | Hamogong |
| 4| ZhuZiliu | 52 | M | KuihuaBaodian |
| 5| ChenJialuo | 22 | F | XianglongShibazhang |
+----+-------------+------+--------+---------------------+
3 rows in set (0.00 sec)
(5)授權給testuser對testdb庫所有表的所以權限
mysql> GRANT ALL ON testdb.* TO'testuser'@'%'; Query OK, 0 rows affected (0.00 sec) mysql> \q Bye