MySQL數據類型以及基本使用詳解

                      MySQL數據類型以及基本使用詳解html

                                             做者:尹正傑
mysql

版權聲明:原創做品,謝絕轉載!不然將追究法律責任。linux

 

 

一.MySQL服務器的主要組件正則表達式

  咱們知道MySQL的主要組件主要是由服務端(mysqld)和客戶端(mysql)組成的。它們都共用一個配置文件(一般叫作my.cnf),這個配置文件很獨特,它須要使用中括號括起來標明是爲哪一種組件使用的,例如[mysql]下面的指令就表示爲客戶端配置的參數,若是[mysqld]下面的指令就表示爲服務端配置的參數。其實MySQL的客戶端組件有不少個,本篇博客是用的mysql命令只是MySQL客戶端之一,其餘常見的客戶端如:Navicat for Mysql,EMSSQL ManagerforMySQL等等。sql

  在Linux操做系統中我仍是推薦使用mysql客戶端的,若是在windows的話我推薦使用Navicat for Mysql,mysql在Linux鏈接服務器是很簡單,咱們用mysql鏈接數據庫的時候一般會用到三個參數,分別是「-u(指定登陸數據庫的用戶名)」,「-h(指定登陸數據庫的主機名)」,「-p(指定登陸數據庫的密碼)」,「-e(指定SQL命令便可執行)」等等。shell

 

二.MySQL用戶的分類數據庫

  其實在MySQL初始化時,它會默認建立兩類帳戶,一種是管理員用戶(root),另一種是匿名用戶。express

1 root:                  //管理員用戶
2     127.0.0.1          //IPV4本地迴環地址
3     localhost          //本機的主機名
4     Hostname         //主機名
5     ::1                //IPV6本地迴環地址
6 " ":                   //匿名用戶
7     localhost        
8     hostname

  這兩類用戶是系統默認的,固然咱們不推薦直接使用它們。由於它們很不安全(只要看了我這篇博客的人都能經過這種方式去鏈接你的MySQL,由於他們都知道mysql的用戶信息。),第一,匿名用戶訪問沒法記錄來訪者,誰均可以使用,就相似於FTP服務器。第二,管理員用戶默認是沒有密碼的,這就更不全啦,就好像你的辦公電腦沒有設置密碼你很沒有安全感似的。所以,咱們須要刪除沒必要要的用戶,好比MySQL服務默認的2個匿名用戶,給咱們須要留存的用戶設置密碼[「SET PASSWORD FOR 'username'@'hostname/IP' = PASSWORD('yinzhengjie');」]。windows

 

三.MySQL客戶端安全

1.客戶端命令

  客戶端命令表示是在客戶端執行的命令,咱們只須要成功鏈接數據庫以後輸入「help」,就能夠看到mysql客戶端的命令啦。客戶端的命令有個特色就是不須要命令結束符,好比「;」。

 1 mysql> help
 2 
 3 For information about MySQL products and services, visit:
 4    http://www.mysql.com/
 5 For developer information, including the MySQL Reference Manual, visit:
 6    http://dev.mysql.com/
 7 To buy MySQL Enterprise support, training, or other products, visit:
 8    https://shop.mysql.com/
 9 
10 List of all MySQL commands:
11 Note that all text commands must be first on line and end with ';'
12 ?         (\?) Synonym for `help'.
13 clear     (\c) Clear the current input statement.
14 connect   (\r) Reconnect to the server. Optional arguments are db and host.
15 delimiter (\d) Set statement delimiter.
16 edit      (\e) Edit command with $EDITOR.
17 ego       (\G) Send command to mysql server, display result vertically.
18 exit      (\q) Exit mysql. Same as quit.
19 go        (\g) Send command to mysql server.
20 help      (\h) Display this help.
21 nopager   (\n) Disable pager, print to stdout.
22 notee     (\t) Don't write into outfile.
23 pager     (\P) Set PAGER [to_pager]. Print the query results via PAGER.
24 print     (\p) Print current command.
25 prompt    (\R) Change your mysql prompt.
26 quit      (\q) Quit mysql.
27 rehash    (\#) Rebuild completion hash.
28 source    (\.) Execute an SQL script file. Takes a file name as an argument.
29 status    (\s) Get status information from the server.
30 system    (\!) Execute a system shell command.
31 tee       (\T) Set outfile [to_outfile]. Append everything into given outfile.
32 use       (\u) Use another database. Takes database name as argument.
33 charset   (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
34 warnings  (\W) Show warnings after every statement.
35 nowarning (\w) Don't show warnings after every statement.
36 
37 For server side help, type 'help contents'
38 
39 mysql> 
 1 mysql> status
 2 --------------
 3 mysql  Ver 14.14 Distrib 5.5.54, for linux2.6 (x86_64) using readline 5.1
 4 
 5 Connection id:          4
 6 Current database:
 7 Current user:           root@localhost
 8 SSL:                    Not in use
 9 Current pager:          stdout
10 Using outfile:          ''
11 Using delimiter:        ;
12 Server version:         5.5.54-log MySQL Community Server (GPL)
13 Protocol version:       10
14 Connection:             Localhost via UNIX socket
15 Server characterset:    latin1
16 Db     characterset:    latin1
17 Client characterset:    utf8
18 Conn.  characterset:    utf8
19 UNIX socket:            /tmp/mysql.sock
20 Uptime:                 49 min 43 sec
21 
22 Threads: 1  Questions: 11  Slow queries: 0  Opens: 33  Flush tables: 1  Open tables: 26  Queries per second avg: 0.003
23 --------------
24 
25 mysql> 
stsauts   #查詢運行狀態
 1 [root@yinzhengjie ~]# mysql -u root -p123
 2 Welcome to the MySQL monitor.  Commands end with ; or \g.
 3 Your MySQL connection id is 6
 4 Server version: 5.5.54-log MySQL Community Server (GPL)
 5 
 6 Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
 7 
 8 Oracle is a registered trademark of Oracle Corporation and/or its
 9 affiliates. Other names may be trademarks of their respective
10 owners.
11 
12 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
13 
14 mysql> \q
15 Bye
16 [root@yinzhengjie ~]# 
\q        #退出當前數據庫
 1 [root@yinzhengjie ~]# mysql -u root -p123
 2 Welcome to the MySQL monitor.  Commands end with ; or \g.
 3 Your MySQL connection id is 7
 4 Server version: 5.5.54-log MySQL Community Server (GPL)
 5 
 6 Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
 7 
 8 Oracle is a registered trademark of Oracle Corporation and/or its
 9 affiliates. Other names may be trademarks of their respective
10 owners.
11 
12 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
13 
14 mysql> \?
15 
16 For information about MySQL products and services, visit:
17    http://www.mysql.com/
18 For developer information, including the MySQL Reference Manual, visit:
19    http://dev.mysql.com/
20 To buy MySQL Enterprise support, training, or other products, visit:
21    https://shop.mysql.com/
22 
23 List of all MySQL commands:
24 Note that all text commands must be first on line and end with ';'
25 ?         (\?) Synonym for `help'.
26 clear     (\c) Clear the current input statement.
27 connect   (\r) Reconnect to the server. Optional arguments are db and host.
28 delimiter (\d) Set statement delimiter.
29 edit      (\e) Edit command with $EDITOR.
30 ego       (\G) Send command to mysql server, display result vertically.
31 exit      (\q) Exit mysql. Same as quit.
32 go        (\g) Send command to mysql server.
33 help      (\h) Display this help.
34 nopager   (\n) Disable pager, print to stdout.
35 notee     (\t) Don't write into outfile.
36 pager     (\P) Set PAGER [to_pager]. Print the query results via PAGER.
37 print     (\p) Print current command.
38 prompt    (\R) Change your mysql prompt.
39 quit      (\q) Quit mysql.
40 rehash    (\#) Rebuild completion hash.
41 source    (\.) Execute an SQL script file. Takes a file name as an argument.
42 status    (\s) Get status information from the server.
43 system    (\!) Execute a system shell command.
44 tee       (\T) Set outfile [to_outfile]. Append everything into given outfile.
45 use       (\u) Use another database. Takes database name as argument.
46 charset   (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
47 warnings  (\W) Show warnings after every statement.
48 nowarning (\w) Don't show warnings after every statement.
49 
50 For server side help, type 'help contents'
51 
52 mysql> 
\?        #獲取幫助信息,至關於help指令。
 1 [root@yinzhengjie ~]# mysql -u root -p123
 2 Welcome to the MySQL monitor.  Commands end with ; or \g.
 3 Your MySQL connection id is 8
 4 Server version: 5.5.54-log MySQL Community Server (GPL)
 5 
 6 Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
 7 
 8 Oracle is a registered trademark of Oracle Corporation and/or its
 9 affiliates. Other names may be trademarks of their respective
10 owners.
11 
12 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
13 
14 mysql> 
15 mysql> select user()\g
16 +----------------+
17 | user()         |
18 +----------------+
19 | root@localhost |
20 +----------------+
21 1 row in set (0.00 sec)
22 
23 mysql> 
\g        #直接將命令送到服務器端執行,這種狀況適用於你不知道當前數據庫的命令結束符是什麼,換句話說,默認的命令結束符「;」被修改的狀況下可使用它
 1 [root@yinzhengjie ~]# mysql -u root -p123
 2 Welcome to the MySQL monitor.  Commands end with ; or \g.
 3 Your MySQL connection id is 10
 4 Server version: 5.5.54-log MySQL Community Server (GPL)
 5 
 6 Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
 7 
 8 Oracle is a registered trademark of Oracle Corporation and/or its
 9 affiliates. Other names may be trademarks of their respective
10 owners.
11 
12 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
13 
14 mysql> use mysql
15 Database changed
16 mysql> select User,Host,Password from user;
17 +------+-------------+-------------------------------------------+
18 | User | Host        | Password                                  |
19 +------+-------------+-------------------------------------------+
20 | root | localhost   | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
21 | root | yinzhengjie | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
22 | root | 127.0.0.1   | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
23 | root | ::1         | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
24 |      | localhost   |                                           |
25 |      | yinzhengjie |                                           |
26 +------+-------------+-------------------------------------------+
27 6 rows in set (0.00 sec)
28 
29 mysql> 
30 mysql> select User,Host,Password from user\G
31 *************************** 1. row ***************************
32     User: root
33     Host: localhost
34 Password: *23AE809DDACAF96AF0FD78ED04B6A265E05AA257
35 *************************** 2. row ***************************
36     User: root
37     Host: yinzhengjie
38 Password: *23AE809DDACAF96AF0FD78ED04B6A265E05AA257
39 *************************** 3. row ***************************
40     User: root
41     Host: 127.0.0.1
42 Password: *23AE809DDACAF96AF0FD78ED04B6A265E05AA257
43 *************************** 4. row ***************************
44     User: root
45     Host: ::1
46 Password: *23AE809DDACAF96AF0FD78ED04B6A265E05AA257
47 *************************** 5. row ***************************
48     User: 
49     Host: localhost
50 Password: 
51 *************************** 6. row ***************************
52     User: 
53     Host: yinzhengjie
54 Password: 
55 6 rows in set (0.00 sec)
56 
57 mysql> 
\G     #再也不顯示爲表格顯示,而是以列的方式顯示,這種狀況適合在默認的表格顯示不下時(也就是說,字段量很是大時),這個參數就頗有用喲。
 1 [root@yinzhengjie ~]# mysql -u root -p123
 2 Welcome to the MySQL monitor.  Commands end with ; or \g.
 3 Your MySQL connection id is 11
 4 Server version: 5.5.54-log MySQL Community Server (GPL)
 5 
 6 Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
 7 
 8 Oracle is a registered trademark of Oracle Corporation and/or its
 9 affiliates. Other names may be trademarks of their respective
10 owners.
11 
12 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
13 
14 mysql> select \c
15 mysql> 
16 mysql> show databases;
17 +--------------------+
18 | Database           |
19 +--------------------+
20 | information_schema |
21 | mysql              |
22 | performance_schema |
23 | test               |
24 +--------------------+
25 4 rows in set (0.01 sec)
26 
27 mysql> 
28 mysql> sdas sad as \c
29 mysql> 
30 mysql> 
\c     #取消命令的執行,它很適合當你不想繼續執行該行代碼時使用,至關於Linux系統的ctrl+c喲。
 1 [root@yinzhengjie ~]# mysql -u root -p123
 2 Welcome to the MySQL monitor.  Commands end with ; or \g.
 3 Your MySQL connection id is 16
 4 Server version: 5.5.54-log MySQL Community Server (GPL)
 5 
 6 Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
 7 
 8 Oracle is a registered trademark of Oracle Corporation and/or its
 9 affiliates. Other names may be trademarks of their respective
10 owners.
11 
12 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
13 
14 mysql> show databases;
15 +--------------------+
16 | Database           |
17 +--------------------+
18 | information_schema |
19 | mysql              |
20 | performance_schema |
21 | test               |
22 +--------------------+
23 4 rows in set (0.00 sec)
24 
25 mysql> \umysql
26 Database changed
27 mysql> 
28 mysql> use mysql
29 Database changed
30 mysql> 
\u #使用默認的數據庫,你能夠理解稱切換數據庫目錄,至關於Linux的cd命令喲

 

2.服務器端命令

  服務器端命令簡直就時多了去了,比客戶端的也複雜的多,所以我在這裏也不打算一一舉例,而是用一些經常使用的命令進行掃盲模式。執行服務端的命令須要語句終止符,一般默認爲分號(;),固然這個命令結束符(;)是能夠被修改的。

a>.SELECT命令的基本使用

  MySQL服務器端有不少內建函數( 簡稱BIF)。使用select命令去執行一個內建函數,並將該內建函數的執行結果返回給當前用戶。

 1 mysql> select user();            #查看數據庫的用戶信息。
 2 +----------------+
 3 | user()         |
 4 +----------------+
 5 | root@localhost |
 6 +----------------+
 7 1 row in set (0.02 sec)
 8 
 9 mysql> 
10 mysql> select current_time();      #查看當前操做系統的時間。
11 +----------------+
12 | current_time() |
13 +----------------+
14 | 00:25:33       |
15 +----------------+
16 1 row in set (0.00 sec)
17 
18 mysql>
select                 #執行內建函數案例
 1 mysql> select 100+200;        #利用select作算術運算。
 2 +---------+
 3 | 100+200 |
 4 +---------+
 5 |     300 |
 6 +---------+
 7 1 row in set (0.00 sec)
 8 
 9 mysql>
10 mysql> select 5*6;
11 +-----+
12 | 5*6 |
13 +-----+
14 |  30 |
15 +-----+
16 1 row in set (0.00 sec)
17 
18 mysql> 
select                 #可用於算術運算的案例

 b>.SHOW命令的基本使用

 1 mysql> show databases;
 2 +--------------------+
 3 | Database           |
 4 +--------------------+
 5 | information_schema |
 6 | mysql              |
 7 | performance_schema |
 8 | test               |
 9 +--------------------+
10 4 rows in set (0.00 sec)
11 
12 mysql> 
SHOW DATABASES            #顯示本身有權限能夠查看全部庫
 1 mysql> use mysql      
 2 Database changed
 3 mysql> show tables;
 4 +---------------------------+
 5 | Tables_in_mysql           |
 6 +---------------------------+
 7 | columns_priv              |
 8 | db                        |
 9 | event                     |
10 | func                      |
11 | general_log               |
12 | help_category             |
13 | help_keyword              |
14 | help_relation             |
15 | help_topic                |
16 | host                      |
17 | ndb_binlog_index          |
18 | plugin                    |
19 | proc                      |
20 | procs_priv                |
21 | proxies_priv              |
22 | servers                   |
23 | slow_log                  |
24 | tables_priv               |
25 | time_zone                 |
26 | time_zone_leap_second     |
27 | time_zone_name            |
28 | time_zone_transition      |
29 | time_zone_transition_type |
30 | user                      |
31 +---------------------------+
32 24 rows in set (0.00 sec)
33 
34 mysql> 
SHOW TABLES              #顯示某庫的全部表
 c>.CRETARE命令的基本使用
 1 [root@yinzhengjie ~]# mysql -u root -p123
 2 Welcome to the MySQL monitor.  Commands end with ; or \g.
 3 Your MySQL connection id is 17
 4 Server version: 5.5.54-log MySQL Community Server (GPL)
 5 
 6 Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
 7 
 8 Oracle is a registered trademark of Oracle Corporation and/or its
 9 affiliates. Other names may be trademarks of their respective
10 owners.
11 
12 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
13 
14 mysql> show databases;
15 +--------------------+
16 | Database           |
17 +--------------------+
18 | information_schema |
19 | mysql              |
20 | performance_schema |
21 | test               |
22 +--------------------+
23 4 rows in set (0.00 sec)
24 
25 mysql> create database yinzhengjie;
26 Query OK, 1 row affected (0.01 sec)
27 
28 mysql> show databases;
29 +--------------------+
30 | Database           |
31 +--------------------+
32 | information_schema |
33 | mysql              |
34 | performance_schema |
35 | test               |
36 | yinzhengjie        |
37 +--------------------+
38 5 rows in set (0.00 sec)
39 
40 mysql> 
CRETARE DATABASE database_name  #建立數據庫,至關於Linux的mkdir命令喲~所以,你能夠去你的數據庫目錄去建立目錄,不過要注意的是,你建立的目錄權限要進行修改喲,若是你用root建立的目錄,在數據庫中mysql用戶可能無權操做該目錄喲
d>.DROP命令的基本使用
 1 [root@yinzhengjie ~]# mysql -u root -p123
 2 Welcome to the MySQL monitor.  Commands end with ; or \g.
 3 Your MySQL connection id is 18
 4 Server version: 5.5.54-log MySQL Community Server (GPL)
 5 
 6 Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
 7 
 8 Oracle is a registered trademark of Oracle Corporation and/or its
 9 affiliates. Other names may be trademarks of their respective
10 owners.
11 
12 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
13 
14 mysql> show databases;
15 +--------------------+
16 | Database           |
17 +--------------------+
18 | information_schema |
19 | mysql              |
20 | performance_schema |
21 | test               |
22 | yinzhengjie        |
23 +--------------------+
24 5 rows in set (0.00 sec)
25 
26 mysql> drop database yinzhengjie;
27 Query OK, 0 rows affected (0.01 sec)
28 
29 mysql> show databases;
30 +--------------------+
31 | Database           |
32 +--------------------+
33 | information_schema |
34 | mysql              |
35 | performance_schema |
36 | test               |
37 +--------------------+
38 4 rows in set (0.00 sec)
39 
40 mysql> 
DROP DATABASE database_name; 刪除數據庫

 

3.命令幫助的獲取

  無論是客戶端仍是服務端命令都是能夠經過關鍵字「help」來獲取幫助信息,固然這得須要MySQL展開其內部的幫助文檔才能獲取到相應的信息的。可能有的童鞋會問,若是展開它的幫助文檔呢?其實在咱們安裝完MySQL的時候就以及默認展開啦。命令自己不區分字符大小寫,但與文件系統相關的部分則根據os的不一樣,可能區分大小寫(好比數據庫名稱和表名等等。)

 1 mysql> help select
 2 Name: 'SELECT'
 3 Description:
 4 Syntax:
 5 SELECT
 6     [ALL | DISTINCT | DISTINCTROW ]
 7       [HIGH_PRIORITY]
 8       [STRAIGHT_JOIN]
 9       [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
10       [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
11     select_expr [, select_expr ...]
12     [FROM table_references
13     [WHERE where_condition]
14     [GROUP BY {col_name | expr | position}
15       [ASC | DESC], ... [WITH ROLLUP]]
16     [HAVING where_condition]
17     [ORDER BY {col_name | expr | position}
18       [ASC | DESC], ...]
19     [LIMIT {[offset,] row_count | row_count OFFSET offset}]
20     [PROCEDURE procedure_name(argument_list)]
21     [INTO OUTFILE 'file_name'
22         [CHARACTER SET charset_name]
23         export_options
24       | INTO DUMPFILE 'file_name'
25       | INTO var_name [, var_name]]
26     [FOR UPDATE | LOCK IN SHARE MODE]]
27 
28 SELECT is used to retrieve rows selected from one or more tables, and
29 can include UNION statements and subqueries. See [HELP UNION], and
30 http://dev.mysql.com/doc/refman/5.5/en/subqueries.html.
31 
32 The most commonly used clauses of SELECT statements are these:
33 
34 o Each select_expr indicates a column that you want to retrieve. There
35   must be at least one select_expr.
36 
37 o table_references indicates the table or tables from which to retrieve
38   rows. Its syntax is described in [HELP JOIN].
39 
40 o The WHERE clause, if given, indicates the condition or conditions
41   that rows must satisfy to be selected. where_condition is an
42   expression that evaluates to true for each row to be selected. The
43   statement selects all rows if there is no WHERE clause.
44 
45   In the WHERE expression, you can use any of the functions and
46   operators that MySQL supports, except for aggregate (summary)
47   functions. See
48   http://dev.mysql.com/doc/refman/5.5/en/expressions.html, and
49   http://dev.mysql.com/doc/refman/5.5/en/functions.html.
50 
51 SELECT can also be used to retrieve rows computed without reference to
52 any table.
53 
54 URL: http://dev.mysql.com/doc/refman/5.5/en/select.html
55 
56 
57 mysql> 
mysql> help KEYWORD    獲取幫助信息案例展現

 

4.MySQL的執行模式

a>.交互式執行模式

  交互式執行模式,顧名思義,你須要登陸數據庫界面,而後執行相應的操做。

 1 [root@yinzhengjie ~]# mysql -u root -p123
 2 Welcome to the MySQL monitor.  Commands end with ; or \g.
 3 Your MySQL connection id is 17
 4 Server version: 5.5.54-log MySQL Community Server (GPL)
 5 
 6 Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
 7 
 8 Oracle is a registered trademark of Oracle Corporation and/or its
 9 affiliates. Other names may be trademarks of their respective
10 owners.
11 
12 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
13 
14 mysql> show databases;
15 +--------------------+
16 | Database           |
17 +--------------------+
18 | information_schema |
19 | mysql              |
20 | performance_schema |
21 | test               |
22 +--------------------+
23 4 rows in set (0.00 sec)
24 
25 mysql> create database yinzhengjie;
26 Query OK, 1 row affected (0.01 sec)
27 
28 mysql> show databases;
29 +--------------------+
30 | Database           |
31 +--------------------+
32 | information_schema |
33 | mysql              |
34 | performance_schema |
35 | test               |
36 | yinzhengjie        |
37 +--------------------+
38 5 rows in set (0.00 sec)
39 
40 mysql> 
MySQL交互式執行模式案例

b>.命令行執行模式

 1 [root@yinzhengjie ~]# mysql -pyinzhengjie -e "show databases;"
 2 +--------------------+
 3 | Database           |
 4 +--------------------+
 5 | information_schema |
 6 | mysql              |
 7 | test               |
 8 +--------------------+
 9 [root@yinzhengjie ~]# mysql -pyinzhengjie -e "create database yinzhengjie;"
10 [root@yinzhengjie ~]# mysql -pyinzhengjie -e "show databases;"
11 +--------------------+
12 | Database           |
13 +--------------------+
14 | information_schema |
15 | mysql              |
16 | test               |
17 | yinzhengjie        |
18 +--------------------+
19 [root@yinzhengjie ~]# 
MySQL令行執行模式案例

c>.批處理執行模式

 1 [root@yinzhengjie ~]# more yinzhengjie.sql 
 2 select user();
 3 create database yinzhengjie;
 4 show databases;
 5 [root@yinzhengjie ~]# 
 6 [root@yinzhengjie ~]# mysql -uroot -p123 < yinzhengjie.sql 
 7 user()
 8 root@localhost
 9 Database
10 information_schema
11 mysql
12 performance_schema
13 test
14 yinzhengjie
15 [root@yinzhengjie ~]# 
批處理模式執行命令案例

 

四.MySQL的數據類型

1.約束(constraint)

  約束就是若是你填寫了違反了某種法則的數據時(好比人的年齡不能超過200歲等等。)就會拒絕寫入,而這種限定就叫作約束。對於關係型數據庫來說,約束一般有如下幾種:

a>.主鍵約束

  主鍵約束就是當你把某個字段或者某些字段合併起來當作主鍵來用了,這就意味着你往裏面填寫數據的時候就不能出現重複了。主鍵還有一個要求,即主鍵不能爲空值(NULL)。對於一張表來說,主鍵只能有一個。

b>.外鍵約束

  假如在第一張表中有一個Name字段,而在第二張表中的第一個字段也有Name字段。那麼很顯然全部填入第一張表中的Name字段的數據都應該是參照了第二張表中的屬性(換句話說,第一張表中的Name字段的填入規則必須和第二張表中的Name字段保持一致!)。這種參照(引用)方式叫作參照完整性約束,也叫作外鍵約束。

c>.唯一鍵約束

  唯一鍵約束和主鍵相似,只不過它的主鍵是能夠爲空的(NULL),而且對於一張表來說,主鍵能夠有多個。

d>.檢查式約束

   不管是主鍵仍是唯一鍵都沒有辦法實現把某一個字段的取值限制在合理的範圍內。好比,要求用戶輸入年齡,某個用戶手一哆嗦,原本想寫40,結果寫成了400,那麼它真的有400歲嗎?很顯然並非。所以就有了檢查式約束,即用戶自定義有效取值範圍的,它一般是一個布爾(bool)表達式,比較能符合條件就容許你往數據庫填寫數據,若是不能符合條件就禁止填入。

 

2.鍵

  鍵就是選取出來某個具備特殊意義的字段。對於關係型數據庫(簡稱RDBMS)來說,鍵指的是字段,由於它是用來當作查找標準或者處理標準所使用的。

a>.主鍵

  主鍵就是可以唯一標識每個記錄的字段或字段的組合。主鍵是從候選鍵中挑選出來的一種方案。是須要被真正使用的。

  打個比方,要求你在數據庫存放中國排名前十的大學從創建到如今的學生信息,咱們能用名字來作主鍵嗎?顯然是不能的,同理,咱們也不能拿年齡當惟一鍵,更不能拿性別當惟一鍵啦。甚至學號也可能出現重複的狀況(好比清華大學的學生和北大的學生的學號是同樣的)。所以,咱們能夠將學校,姓名,年齡,性別以及學號組合起來當主鍵使用,這樣出現重複的概念就極小啦。所以鍵未必是一個字段。

b>.候選鍵

  作DBA的童鞋應該知道在數據庫的一張表當中,可以惟一標識每個記錄的字段的組合可能不止一個,咱們還以上面的例子來講,統計全國排名前十的大學的學員信息,咱們能夠用學校,姓名,年齡,性別學號來作惟一主鍵,固然也能夠只用學校,姓名和學號來作惟一主鍵。也就是說選擇主鍵的方式有不少種。所以,全部這些可以用於惟一標識每個記錄的鍵就叫作候選鍵。也就是說這些候選鍵都是能夠拿來當主鍵用的,候選鍵只是一種概念,並無被真正使用。

c>.外鍵

   若是公共關鍵字在一個關係中是主關鍵字,那麼這個公共關鍵字被稱爲另外一個關係的外鍵。因而可知,外鍵表示了兩個關係之間的相關聯繫。以另外一個關係的外鍵做主關鍵字的表被稱爲主表,具備此外鍵的表被稱爲主表的從表。外鍵又稱做外關鍵字

  打個比方,假如在第一張表中有一個Name字段,而在第二張表中的第一個字段也有Name字段。這個時候咱們就能夠說第一張表中的Name字段就是一個外鍵。也能夠說第二張表中的Name字段是第一張表的一個外鍵。

 

3.數據類型

  數據類型是用來比較方式(排序方式),存儲空間(取值範圍),可以參與的運算等等,這些功能都是由數據類型來肯定的。

a>.字符型

  1>.固定長度的字符類型,換句話說就是定義了一個字符長度,若是你存儲的字節長度不足時,系統會自動給你用「0」進行佔位操做,當字符類型的長度超過咱們預約義的長度時,就會報錯。用char(#number[最多存儲255個字符])關鍵字來定義。(也就是說,char(10),就表示你每一個字符串存儲的長度應該是10,好比你的單個字符串長度是7,那麼還有3個空位系統自動會用「0」進行佔位。也就沒有字符存儲的大小是一致的。)

  2>.自動變化長度的字符類型,即varchar(#bumber[最多存儲65535個字符,即2個字節])。和上面的char(#number)用法類似,只不過惟一不一樣的是存儲的字符的長度是可變化的。也就是說,varchar(10),就表示你每一個字符串的長度應該是10,若是你的單個字符串長度是6,那麼它就會以6個長度來存取的你的數據,而不會去能夠給你填滿其餘的佔位符,它是以你實際長度爲準的。注意,char(#number)和varchar(#num)存儲數據的時候都不區分大小寫。若是你強烈要求要區分大消息的話也是能夠的,和char(#number)相似的一種方法叫作binary(#number),他們惟一不一樣就是char(#number)不區分大小寫,而binary(#number)是區分大小寫的。同理,和varchar(#number)對應的就是varbinary(#number)。

  3>.其實char(#number),var(#number),binary(#number),varbinary(#number)它們的存儲數據的大小是有上限的。若是你寫博客,裏面的正文數據長度必定是很大的。這個時候這四種定義類型就再也不合適了,這個時候就有了面向對象存儲的概念,就是不講數據放在一個表中了,而是將數據放在一個指定的文件,而在表中存儲的只是一個指針。當用戶用到該數據時,就會去調用這個指針所對應的文件。而這種存儲方式也是區分大小寫了,相比以前學習的四種定義類型,test和blob數據類型存儲的容量更大,test的類型擁有char(#number),binary(#number)的特色,而blob數據類型擁有varchar(#number),varbinary(#number)。而test和blob又被細分了4類,例如blob分爲TinyBlob(最多存儲255個字符,即一個字節),Blob(最多存儲64kb,須要減去2個字節的空間),MediumBlob(最多存儲16MB的空間,須要減去3個字節),LongBlob(最多存儲4G的空間,須要減去4個字節)。test分爲TinyText(最多存儲255個字符,即一個字節與char索引方式是不一樣的,TinyText不能使用全字段索引而char確實能夠的),Text(最多存儲65535個字符,須要減去2個字節),MediumText(最多存儲16777215個字符,須要減去3個字節),LongText(最多存儲4294967295個字符,表示能夠存儲4個G,不過通常沒人那麼幹,再問誰會將一個表中的一行字段佔用4G的空間呢)等等。

  4>.字符型(char、varchar和text)經常使用的屬性修飾符:

    A>.NOT NULL(非空約束)
    B>.NULL(容許爲空)
    C>.default ‘string’(默認值,不適用於text類型)
    D>.CHARACTER SET 字符集
      mysql>show variables like '%char%'; #查看默認的字符集
      mysql>show character set; #查看數據庫支持的字符集
    E>.collation '規則':排序規則
      msyql>show collation; #查看數據庫支持的排序規則

  5>.binary,varbinaray和blob字符經常使用的屬性修飾符

    A>.NOT NULL
    B>.NULL
    C>.default 不適用與blob

b>.數值型

  1>.精確數值型

    精確數值型有兩類,即整形(integer)和十進制(decimal)。在金融領域中,通常都用十進制存儲數值型。而integer類型來說,它有好幾種變化形式分別用來表示所可以存儲的範圍大小的,好比:

        A>.只佔用一個字節的tinyint(微整型,取值範圍是-128~127或者0~255);

        B>.佔用兩個字節的samllint(小整型,取值範圍是-32768~32767或者0~65535);

        C>.佔用三個字節的mediuint(中等整型,取值範圍-8388608~8388607或者0~16777215);

        D>.佔用四個字節的int(整型,取值範圍-2147483648~2147483647或者0~4294967295);

        E>.佔用八個字節的bingint(大整形,取值範圍是-9223372036854775808~9223372036854775807或者0~18446744073709551615)等等。 

  

  整形的經常使用屬性修飾符:
     A>.AUTO_INCREMENT:自動增加(前提:非空,且惟一,支持索引,非負值[UNSIGNED],注意:TRUNCATE 用來清空表中數據)
     B>.LEST_INSERT_ID():能夠查看上次增加的數值,當插入多行時,只記錄第一行
     C>.UNSIGNED:無符號
     D>.NULL
     E>.NOT NULL
     F>.DEFAULT

  2>.近似數值型

     近似數值型又分爲單精度浮點型(float)和雙精度浮點型(double)。  

    浮點型經常使用修飾符:(使用g,f來定義總共有多少數字和小數點後有多少數字)
      A>.NULL
      B>.NOT NULL
      C>.UNSIGNSD
      D>.DEFAULT

  3>.位

    按位(bit)實現數據存儲的。這種方式不建議使用。

c>.日期時間型

   1>咱們在數據庫中可能須要存儲日期或時間,日期時間型其實本質上被咱們存儲爲數值或字符。

    A>.其中咱們能夠用佔用三個字節的date(日期型)來存儲時間;

    B>.用佔用三個字節的time(時間型)來存儲時間;

    C>.用佔用八個字節的datetime(日期時間型)來存儲日期和時間;

    D>.固然,你也能夠存儲在四個字節的timestamp(時間戳,存儲自1970年1月1號0點0分0秒至你所指定的時間爲止所通過的秒數。);

    E>.對了還有一個字節來記錄年的year類型。即Year(2)和year(4),前者表示方法是:「00~99」,默認值是:「00」;後者表示方法是:「1901~2155」,默認爲「0000」。

  2>.日期時間型經常使用的修飾符
    A>.NULL
    B>.NOT NULL
    C>.DEFAULT

d>.布爾型

  MySQL其實沒有真正意義上的布爾型,而是使用的tinyint(微整型),並且只顯示一位來表示的,要麼是0,要麼是1.

e>NULL

  表示什麼也沒有存,注意空白字符不等於空喲,數字0也不表明空。

f>.內置類型(事實上ENUM和SET也是屬於字符型喲)

  1>.MySQL也有兩種常見的內置類型,即ENUM(枚舉)和SET(集合)。

  2>.枚舉類型是指將全部的狀況的列舉出來,咱們從中挑選處一種便可。好比今天是星期幾,咱們經過枚舉方法列出全部的可能性,將星期一至星期日的其中狀況都枚舉出來,這樣用戶輸入的星期八則是不合法的。集合類型是指在一個範圍內有不少元素,你能夠把這些元素任意拼湊,怎麼拼都行,可是每一個元素必須是在給定範圍內的,不能超出限定範圍。就比如你是某學校的大一新生的班主任,如今你要對你的學生進行分組處理。其中每一個組的每個成員必須都是你的班級的學生,而不能講其餘班級的學生拉倒你的班級進行分組。

  3>.ENUM和SET的修飾符
    A>.NULL
    B>.NOT NULL
    C>.DEFAULT ‘’

4.表(table)

  由行和列組成的二維關係,這也是他被稱爲關係型數據庫類型的緣由。

a>.表的建立(CREATE)

  用法格式:「create table TabelName(VariableName VariableType,......);」

 1 [root@yinzhengjie ~]# mysql -uroot -pyinzhengjie 
 2 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
 3 [root@yinzhengjie ~]# 
 4 [root@yinzhengjie ~]# mysql -uroot -p123
 5 Welcome to the MySQL monitor.  Commands end with ; or \g.
 6 Your MySQL connection id is 39
 7 Server version: 5.5.54-log MySQL Community Server (GPL)
 8 
 9 Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
10 
11 Oracle is a registered trademark of Oracle Corporation and/or its
12 affiliates. Other names may be trademarks of their respective
13 owners.
14 
15 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
16 
17 mysql> show databases;
18 +--------------------+
19 | Database           |
20 +--------------------+
21 | information_schema |
22 | mysql              |
23 | performance_schema |
24 | test               |
25 | yinzhengjie        |
26 +--------------------+
27 5 rows in set (0.01 sec)
28 
29 mysql> use yinzhengjie
30 Database changed
31 mysql> create table  Student (Name varchar(30),Age tinyint,Gender ENUM('boy','girl'));        ----->這裏是建立一個表,該表有3個字段,分別是姓名(Name),年齡(Age)和性別(Gender),定義變量名稱和Golang很類似。
32 Query OK, 0 rows affected (0.01 sec)
33 
34 mysql>     
建立一個表,格式參考:「 create table TabelName(VariableName VariableType,......);」
 1 [root@yinzhengjie ~]# mysql -uroot -p123
 2 Welcome to the MySQL monitor.  Commands end with ; or \g.
 3 Your MySQL connection id is 42
 4 Server version: 5.5.54-log MySQL Community Server (GPL)
 5 
 6 Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
 7 
 8 Oracle is a registered trademark of Oracle Corporation and/or its
 9 affiliates. Other names may be trademarks of their respective
10 owners.
11 
12 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
13 
14 mysql> show databases;
15 +--------------------+
16 | Database           |
17 +--------------------+
18 | information_schema |
19 | mysql              |
20 | performance_schema |
21 | test               |
22 | yinzhengjie        |
23 +--------------------+
24 5 rows in set (0.00 sec)
25 
26 mysql> use yinzhengjie
27 Database changed
28 mysql> show tables;
29 +-----------------------+
30 | Tables_in_yinzhengjie |
31 +-----------------------+
32 | Student               |
33 +-----------------------+
34 1 row in set (0.00 sec)
35 
36 mysql> desc Student;
37 +--------+--------------------+------+-----+---------+-------+
38 | Field  | Type               | Null | Key | Default | Extra |
39 +--------+--------------------+------+-----+---------+-------+
40 | Name   | varchar(30)        | YES  |     | NULL    |       |
41 | Age    | tinyint(4)         | YES  |     | NULL    |       |
42 | Gender | enum('boy','girl') | YES  |     | NULL    |       |
43 +--------+--------------------+------+-----+---------+-------+
44 3 rows in set (0.00 sec)
45 
46 mysql> 
查看錶結構 ,格式參考:「desc TableName」
 1 [root@yinzhengjie ~]# mysql -uroot -p123
 2 Welcome to the MySQL monitor.  Commands end with ; or \g.
 3 Your MySQL connection id is 44
 4 Server version: 5.5.54-log MySQL Community Server (GPL)
 5 
 6 Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
 7 
 8 Oracle is a registered trademark of Oracle Corporation and/or its
 9 affiliates. Other names may be trademarks of their respective
10 owners.
11 
12 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
13 
14 mysql> show databases;
15 +--------------------+
16 | Database           |
17 +--------------------+
18 | information_schema |
19 | mysql              |
20 | performance_schema |
21 | test               |
22 | yinzhengjie        |
23 +--------------------+
24 5 rows in set (0.00 sec)
25 
26 mysql> use yinzhengjie
27 Database changed
28 mysql> show tables;
29 +-----------------------+
30 | Tables_in_yinzhengjie |
31 +-----------------------+
32 | Student               |
33 +-----------------------+
34 1 row in set (0.00 sec)
35 
36 mysql> drop table Student;
37 Query OK, 0 rows affected (0.00 sec)
38 
39 mysql> show tables;
40 Empty set (0.00 sec)
41 
42 mysql> 
刪除一個表,格式參考:「drop table TableName」
1    注意,字段或字段類型還能夠有修飾符 2 
3     1>.NOT NULL #表示插入數據時不容許爲空 4     2>.NULL          #表示插入的數據能夠爲空 5     3>.DEDAULT        #字符要加引號,數字不能加引號 6     4>.UNSIGNED        #無符號(只能用在整型上) 7     5>.AUTO_INCREMENT   #自動增加類型的字段必須爲主鍵或惟一鍵,即便你清空了一個表格的數據,它默認狀況下是不會重置的喲。 8     6>.PRIMARY KEY     #定義主鍵 9     7>.UNIQUE KEY         #惟一鍵
 1 [root@yinzhengjie ~]# mysql -uroot -p123
 2 Welcome to the MySQL monitor.  Commands end with ; or \g.
 3 Your MySQL connection id is 45
 4 Server version: 5.5.54-log MySQL Community Server (GPL)
 5 
 6 Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
 7 
 8 Oracle is a registered trademark of Oracle Corporation and/or its
 9 affiliates. Other names may be trademarks of their respective
10 owners.
11 
12 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
13 
14 mysql> use yinzhengjie
15 Database changed
16 mysql> create table  Student (StuID int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,Name varchar(30) NOT NULL,Age tinyint UNSIGNED NOT NULL,Gender ENUM('boy','girl') NOT NULL DEFAULT 'boy');             ----->和以前建立的表名稱同樣,只不過在每一個變量類型後面加了修飾符,來限定變量是否可用爲空,而且新添加了一個INT類型的StuID字段,而且讓該INT類型自動增加。
17 Query OK, 0 rows affected (0.01 sec)
18 
19 mysql> 
20 mysql> desc Student;
21 +--------+---------------------+------+-----+---------+----------------+
22 | Field  | Type                | Null | Key | Default | Extra          |
23 +--------+---------------------+------+-----+---------+----------------+
24 | StuID  | int(10) unsigned    | NO   | PRI | NULL    | auto_increment |
25 | Name   | varchar(30)         | NO   |     | NULL    |                |
26 | Age    | tinyint(3) unsigned | NO   |     | NULL    |                |
27 | Gender | enum('boy','girl')  | NO   |     | boy     |                |
28 +--------+---------------------+------+-----+---------+----------------+
29 4 rows in set (0.00 sec)
30 
31 mysql> 
定義有修飾符的表案例

 b>.表的插入(INSERT)

  用法格式:「INSERT INTO TableName(VariableName1,VariableName2,...) VALUE|VALUES (VariableValue1,VariableValue2.....);」

 1 mysql> desc Student;
 2 +--------+---------------------+------+-----+---------+----------------+
 3 | Field  | Type                | Null | Key | Default | Extra          |
 4 +--------+---------------------+------+-----+---------+----------------+
 5 | StuID  | int(10) unsigned    | NO   | PRI | NULL    | auto_increment |
 6 | Name   | varchar(30)         | NO   |     | NULL    |                |
 7 | Age    | tinyint(3) unsigned | NO   |     | NULL    |                |
 8 | Gender | enum('boy','girl')  | NO   |     | boy     |                |
 9 +--------+---------------------+------+-----+---------+----------------+
10 4 rows in set (0.00 sec)
11 
12 mysql> insert into Student(Name,Age,Gender) values ( "yinzihengjie",17,'boy');
13 Query OK, 1 row affected (0.01 sec)
14 mysql> select * from Student;
15 +-------+--------------+-----+--------+
16 | StuID | Name         | Age | Gender |
17 +-------+--------------+-----+--------+
18 |     1 | yinzihengjie |  17 | boy    |
19 +-------+--------------+-----+--------+
20 1 row in set (0.00 sec)
21 
22 mysql> 
只插入一條數據案例展現
 1 mysql> select * from Student;
 2 +-------+--------------+-----+--------+
 3 | StuID | Name         | Age | Gender |
 4 +-------+--------------+-----+--------+
 5 |     1 | yinzihengjie |  17 | boy    |
 6 +-------+--------------+-----+--------+
 7 1 row in set (0.00 sec)
 8 
 9 mysql> insert into Student(Name,Age,Gender) values ( "linus",48,'boy'),("dengziqi",26,'girl');
10 Query OK, 2 rows affected (0.02 sec)
11 Records: 2  Duplicates: 0  Warnings: 0
12 
13 mysql> select * from Student;
14 +-------+--------------+-----+--------+
15 | StuID | Name         | Age | Gender |
16 +-------+--------------+-----+--------+
17 |     1 | yinzihengjie |  17 | boy    |
18 |     2 | linus        |  48 | boy    |
19 |     3 | dengziqi     |  26 | girl   |
20 +-------+--------------+-----+--------+
21 3 rows in set (0.00 sec)
22 
23 mysql> 
同時插入(批量插入)多條數據用法展現
 1 mysql> select * from Student;
 2 +-------+--------------+-----+--------+
 3 | StuID | Name         | Age | Gender |
 4 +-------+--------------+-----+--------+
 5 |     1 | yinzihengjie |  17 | boy    |
 6 |     2 | linus        |  48 | boy    |
 7 |     3 | dengziqi     |  26 | girl   |
 8 +-------+--------------+-----+--------+
 9 3 rows in set (0.00 sec)
10 
11 mysql> insert into Student(Name,Age) values ( "jay Chou",38),("joker Xue",34),("zhangweijian",52);
12 Query OK, 3 rows affected (0.00 sec)
13 Records: 3  Duplicates: 0  Warnings: 0
14 
15 mysql> select * from Student;
16 +-------+--------------+-----+--------+
17 | StuID | Name         | Age | Gender |
18 +-------+--------------+-----+--------+
19 |     1 | yinzihengjie |  17 | boy    |
20 |     2 | linus        |  48 | boy    |
21 |     3 | dengziqi     |  26 | girl   |
22 |     4 | jay Chou     |  38 | boy    |
23 |     5 | joker Xue    |  34 | boy    |
24 |     6 | zhangweijian |  52 | boy    |
25 +-------+--------------+-----+--------+
26 6 rows in set (0.00 sec)
27 
28 mysql> 
若是批量插入的某個字段是都是一致的狀況能夠省去,點我看用法展現

c>.表的查詢

 1   用法格式:「select VariableName1,VariableName2 from TableName where ConditionalExpression;」  2 
 3   固然查詢是能夠用,刪除,修改都是能夠用like,rlike以及組合條件進行過濾,從而獲得咱們想要的字段。  4 
 5 
 6   like通配符:  7     %:任意長度的任意字符  8     _:匹配任意單個字符  9   rlink 10     正則表達式 11 
12 
13   組合條件 14     and 15     or 16     not
 1 mysql> select * from Student;
 2 +-------+--------------+-----+--------+
 3 | StuID | Name         | Age | Gender |
 4 +-------+--------------+-----+--------+
 5 |     1 | yinzihengjie |  17 | boy    |
 6 |     2 | linus        |  48 | boy    |
 7 |     3 | dengziqi     |  26 | girl   |
 8 |     4 | jay Chou     |  38 | boy    |
 9 |     5 | joker Xue    |  34 | boy    |
10 |     6 | zhangweijian |  52 | boy    |
11 +-------+--------------+-----+--------+
12 6 rows in set (0.00 sec)
13 mysql> select Name,Age,Gender from Student where Name = 'yinzihengjie';
14 +--------------+-----+--------+
15 | Name         | Age | Gender |
16 +--------------+-----+--------+
17 | yinzihengjie |  17 | boy    |
18 +--------------+-----+--------+
19 1 row in set (0.00 sec)
20 
21 mysql> 
select中的where用法展現
 1 mysql> select * from Student;
 2 +-------+--------------+-----+--------+
 3 | StuID | Name         | Age | Gender |
 4 +-------+--------------+-----+--------+
 5 |     1 | yinzihengjie |  17 | boy    |
 6 |     2 | linus        |  48 | boy    |
 7 |     3 | dengziqi     |  26 | girl   |
 8 |     4 | jay Chou     |  38 | boy    |
 9 |     5 | joker Xue    |  34 | boy    |
10 |     6 | zhangweijian |  52 | boy    |
11 +-------+--------------+-----+--------+
12 6 rows in set (0.00 sec)
13 
14 mysql> select Name,Age,Gender from Student where Gender = 'boy' and Age > 35;
15 +--------------+-----+--------+
16 | Name         | Age | Gender |
17 +--------------+-----+--------+
18 | linus        |  48 | boy    |
19 | jay Chou     |  38 | boy    |
20 | zhangweijian |  52 | boy    |
21 +--------------+-----+--------+
22 3 rows in set (0.00 sec)
23 
24 mysql> 
where的組合用法展現
  Mysql服務器的工做特性的定義是經過服務器變量實現的,而MySQL服務器運行中的狀態是經過狀態變量輸出的。
 1 mysql> show create table Student;
 2 +---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 3 | Table   | Create Table                                                                                                                                                                                                                                                                            |
 4 +---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 5 | Student | CREATE TABLE `Student` (
 6   `StuID` int(10) unsigned NOT NULL AUTO_INCREMENT,
 7   `Name` varchar(30) NOT NULL,
 8   `Age` tinyint(3) unsigned NOT NULL,
 9   `Gender` enum('boy','girl') NOT NULL DEFAULT 'boy',
10   PRIMARY KEY (`StuID`)
11 ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1 |
12 +---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
13 1 row in set (0.00 sec)
14 
15 mysql> 
查看類命令-查詢建立表時使用的命令
 1 mysql> show engines;
 2 +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
 3 | Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
 4 +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
 5 | PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
 6 | MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
 7 | CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
 8 | BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
 9 | MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
10 | InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
11 | ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
12 | MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
13 | FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
14 +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
15 9 rows in set (0.00 sec)
16 
17 mysql> 
查看類命令-查詢數據庫支持的存儲類型
 1 mysql> show table status\G
 2 *************************** 1. row ***************************
 3            Name: Student
 4          Engine: InnoDB
 5         Version: 10
 6      Row_format: Compact
 7            Rows: 4
 8  Avg_row_length: 4096
 9     Data_length: 16384
10 Max_data_length: 0
11    Index_length: 0
12       Data_free: 10485760
13  Auto_increment: 7
14     Create_time: 2017-11-11 08:14:12
15     Update_time: NULL
16      Check_time: NULL
17       Collation: latin1_swedish_ci
18        Checksum: NULL
19  Create_options: 
20         Comment: 
21 1 row in set (0.00 sec)
22 
23 mysql> 
查看類命令-查詢當前數據庫的存儲類型
 1 mysql> show character set;
 2 +----------+-----------------------------+---------------------+--------+
 3 | Charset  | Description                 | Default collation   | Maxlen |
 4 +----------+-----------------------------+---------------------+--------+
 5 | big5     | Big5 Traditional Chinese    | big5_chinese_ci     |      2 |
 6 | dec8     | DEC West European           | dec8_swedish_ci     |      1 |
 7 | cp850    | DOS West European           | cp850_general_ci    |      1 |
 8 | hp8      | HP West European            | hp8_english_ci      |      1 |
 9 | koi8r    | KOI8-R Relcom Russian       | koi8r_general_ci    |      1 |
10 | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
11 | latin2   | ISO 8859-2 Central European | latin2_general_ci   |      1 |
12 | swe7     | 7bit Swedish                | swe7_swedish_ci     |      1 |
13 | ascii    | US ASCII                    | ascii_general_ci    |      1 |
14 | ujis     | EUC-JP Japanese             | ujis_japanese_ci    |      3 |
15 | sjis     | Shift-JIS Japanese          | sjis_japanese_ci    |      2 |
16 | hebrew   | ISO 8859-8 Hebrew           | hebrew_general_ci   |      1 |
17 | tis620   | TIS620 Thai                 | tis620_thai_ci      |      1 |
18 | euckr    | EUC-KR Korean               | euckr_korean_ci     |      2 |
19 | koi8u    | KOI8-U Ukrainian            | koi8u_general_ci    |      1 |
20 | gb2312   | GB2312 Simplified Chinese   | gb2312_chinese_ci   |      2 |
21 | greek    | ISO 8859-7 Greek            | greek_general_ci    |      1 |
22 | cp1250   | Windows Central European    | cp1250_general_ci   |      1 |
23 | gbk      | GBK Simplified Chinese      | gbk_chinese_ci      |      2 |
24 | latin5   | ISO 8859-9 Turkish          | latin5_turkish_ci   |      1 |
25 | armscii8 | ARMSCII-8 Armenian          | armscii8_general_ci |      1 |
26 | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
27 | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
28 | cp866    | DOS Russian                 | cp866_general_ci    |      1 |
29 | keybcs2  | DOS Kamenicky Czech-Slovak  | keybcs2_general_ci  |      1 |
30 | macce    | Mac Central European        | macce_general_ci    |      1 |
31 | macroman | Mac West European           | macroman_general_ci |      1 |
32 | cp852    | DOS Central European        | cp852_general_ci    |      1 |
33 | latin7   | ISO 8859-13 Baltic          | latin7_general_ci   |      1 |
34 | utf8mb4  | UTF-8 Unicode               | utf8mb4_general_ci  |      4 |
35 | cp1251   | Windows Cyrillic            | cp1251_general_ci   |      1 |
36 | utf16    | UTF-16 Unicode              | utf16_general_ci    |      4 |
37 | cp1256   | Windows Arabic              | cp1256_general_ci   |      1 |
38 | cp1257   | Windows Baltic              | cp1257_general_ci   |      1 |
39 | utf32    | UTF-32 Unicode              | utf32_general_ci    |      4 |
40 | binary   | Binary pseudo charset       | binary              |      1 |
41 | geostd8  | GEOSTD8 Georgian            | geostd8_general_ci  |      1 |
42 | cp932    | SJIS for Windows Japanese   | cp932_japanese_ci   |      2 |
43 | eucjpms  | UJIS for Windows Japanese   | eucjpms_japanese_ci |      3 |
44 +----------+-----------------------------+---------------------+--------+
45 39 rows in set (0.03 sec)
46 
47 mysql> 
查看類命令-查詢字符集(字符集是經過二進制轉換爲漢字的結果)
  1 mysql> show collation;
  2 +--------------------------+----------+-----+---------+----------+---------+
  3 | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
  4 +--------------------------+----------+-----+---------+----------+---------+
  5 | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
  6 | big5_bin                 | big5     |  84 |         | Yes      |       1 |
  7 | dec8_swedish_ci          | dec8     |   3 | Yes     | Yes      |       1 |
  8 | dec8_bin                 | dec8     |  69 |         | Yes      |       1 |
  9 | cp850_general_ci         | cp850    |   4 | Yes     | Yes      |       1 |
 10 | cp850_bin                | cp850    |  80 |         | Yes      |       1 |
 11 | hp8_english_ci           | hp8      |   6 | Yes     | Yes      |       1 |
 12 | hp8_bin                  | hp8      |  72 |         | Yes      |       1 |
 13 | koi8r_general_ci         | koi8r    |   7 | Yes     | Yes      |       1 |
 14 | koi8r_bin                | koi8r    |  74 |         | Yes      |       1 |
 15 | latin1_german1_ci        | latin1   |   5 |         | Yes      |       1 |
 16 | latin1_swedish_ci        | latin1   |   8 | Yes     | Yes      |       1 |
 17 | latin1_danish_ci         | latin1   |  15 |         | Yes      |       1 |
 18 | latin1_german2_ci        | latin1   |  31 |         | Yes      |       2 |
 19 | latin1_bin               | latin1   |  47 |         | Yes      |       1 |
 20 | latin1_general_ci        | latin1   |  48 |         | Yes      |       1 |
 21 | latin1_general_cs        | latin1   |  49 |         | Yes      |       1 |
 22 | latin1_spanish_ci        | latin1   |  94 |         | Yes      |       1 |
 23 | latin2_czech_cs          | latin2   |   2 |         | Yes      |       4 |
 24 | latin2_general_ci        | latin2   |   9 | Yes     | Yes      |       1 |
 25 | latin2_hungarian_ci      | latin2   |  21 |         | Yes      |       1 |
 26 | latin2_croatian_ci       | latin2   |  27 |         | Yes      |       1 |
 27 | latin2_bin               | latin2   |  77 |         | Yes      |       1 |
 28 | swe7_swedish_ci          | swe7     |  10 | Yes     | Yes      |       1 |
 29 | swe7_bin                 | swe7     |  82 |         | Yes      |       1 |
 30 | ascii_general_ci         | ascii    |  11 | Yes     | Yes      |       1 |
 31 | ascii_bin                | ascii    |  65 |         | Yes      |       1 |
 32 | ujis_japanese_ci         | ujis     |  12 | Yes     | Yes      |       1 |
 33 | ujis_bin                 | ujis     |  91 |         | Yes      |       1 |
 34 | sjis_japanese_ci         | sjis     |  13 | Yes     | Yes      |       1 |
 35 | sjis_bin                 | sjis     |  88 |         | Yes      |       1 |
 36 | hebrew_general_ci        | hebrew   |  16 | Yes     | Yes      |       1 |
 37 | hebrew_bin               | hebrew   |  71 |         | Yes      |       1 |
 38 | tis620_thai_ci           | tis620   |  18 | Yes     | Yes      |       4 |
 39 | tis620_bin               | tis620   |  89 |         | Yes      |       1 |
 40 | euckr_korean_ci          | euckr    |  19 | Yes     | Yes      |       1 |
 41 | euckr_bin                | euckr    |  85 |         | Yes      |       1 |
 42 | koi8u_general_ci         | koi8u    |  22 | Yes     | Yes      |       1 |
 43 | koi8u_bin                | koi8u    |  75 |         | Yes      |       1 |
 44 | gb2312_chinese_ci        | gb2312   |  24 | Yes     | Yes      |       1 |
 45 | gb2312_bin               | gb2312   |  86 |         | Yes      |       1 |
 46 | greek_general_ci         | greek    |  25 | Yes     | Yes      |       1 |
 47 | greek_bin                | greek    |  70 |         | Yes      |       1 |
 48 | cp1250_general_ci        | cp1250   |  26 | Yes     | Yes      |       1 |
 49 | cp1250_czech_cs          | cp1250   |  34 |         | Yes      |       2 |
 50 | cp1250_croatian_ci       | cp1250   |  44 |         | Yes      |       1 |
 51 | cp1250_bin               | cp1250   |  66 |         | Yes      |       1 |
 52 | cp1250_polish_ci         | cp1250   |  99 |         | Yes      |       1 |
 53 | gbk_chinese_ci           | gbk      |  28 | Yes     | Yes      |       1 |
 54 | gbk_bin                  | gbk      |  87 |         | Yes      |       1 |
 55 | latin5_turkish_ci        | latin5   |  30 | Yes     | Yes      |       1 |
 56 | latin5_bin               | latin5   |  78 |         | Yes      |       1 |
 57 | armscii8_general_ci      | armscii8 |  32 | Yes     | Yes      |       1 |
 58 | armscii8_bin             | armscii8 |  64 |         | Yes      |       1 |
 59 | utf8_general_ci          | utf8     |  33 | Yes     | Yes      |       1 |
 60 | utf8_bin                 | utf8     |  83 |         | Yes      |       1 |
 61 | utf8_unicode_ci          | utf8     | 192 |         | Yes      |       8 |
 62 | utf8_icelandic_ci        | utf8     | 193 |         | Yes      |       8 |
 63 | utf8_latvian_ci          | utf8     | 194 |         | Yes      |       8 |
 64 | utf8_romanian_ci         | utf8     | 195 |         | Yes      |       8 |
 65 | utf8_slovenian_ci        | utf8     | 196 |         | Yes      |       8 |
 66 | utf8_polish_ci           | utf8     | 197 |         | Yes      |       8 |
 67 | utf8_estonian_ci         | utf8     | 198 |         | Yes      |       8 |
 68 | utf8_spanish_ci          | utf8     | 199 |         | Yes      |       8 |
 69 | utf8_swedish_ci          | utf8     | 200 |         | Yes      |       8 |
 70 | utf8_turkish_ci          | utf8     | 201 |         | Yes      |       8 |
 71 | utf8_czech_ci            | utf8     | 202 |         | Yes      |       8 |
 72 | utf8_danish_ci           | utf8     | 203 |         | Yes      |       8 |
 73 | utf8_lithuanian_ci       | utf8     | 204 |         | Yes      |       8 |
 74 | utf8_slovak_ci           | utf8     | 205 |         | Yes      |       8 |
 75 | utf8_spanish2_ci         | utf8     | 206 |         | Yes      |       8 |
 76 | utf8_roman_ci            | utf8     | 207 |         | Yes      |       8 |
 77 | utf8_persian_ci          | utf8     | 208 |         | Yes      |       8 |
 78 | utf8_esperanto_ci        | utf8     | 209 |         | Yes      |       8 |
 79 | utf8_hungarian_ci        | utf8     | 210 |         | Yes      |       8 |
 80 | utf8_sinhala_ci          | utf8     | 211 |         | Yes      |       8 |
 81 | utf8_general_mysql500_ci | utf8     | 223 |         | Yes      |       1 |
 82 | ucs2_general_ci          | ucs2     |  35 | Yes     | Yes      |       1 |
 83 | ucs2_bin                 | ucs2     |  90 |         | Yes      |       1 |
 84 | ucs2_unicode_ci          | ucs2     | 128 |         | Yes      |       8 |
 85 | ucs2_icelandic_ci        | ucs2     | 129 |         | Yes      |       8 |
 86 | ucs2_latvian_ci          | ucs2     | 130 |         | Yes      |       8 |
 87 | ucs2_romanian_ci         | ucs2     | 131 |         | Yes      |       8 |
 88 | ucs2_slovenian_ci        | ucs2     | 132 |         | Yes      |       8 |
 89 | ucs2_polish_ci           | ucs2     | 133 |         | Yes      |       8 |
 90 | ucs2_estonian_ci         | ucs2     | 134 |         | Yes      |       8 |
 91 | ucs2_spanish_ci          | ucs2     | 135 |         | Yes      |       8 |
 92 | ucs2_swedish_ci          | ucs2     | 136 |         | Yes      |       8 |
 93 | ucs2_turkish_ci          | ucs2     | 137 |         | Yes      |       8 |
 94 | ucs2_czech_ci            | ucs2     | 138 |         | Yes      |       8 |
 95 | ucs2_danish_ci           | ucs2     | 139 |         | Yes      |       8 |
 96 | ucs2_lithuanian_ci       | ucs2     | 140 |         | Yes      |       8 |
 97 | ucs2_slovak_ci           | ucs2     | 141 |         | Yes      |       8 |
 98 | ucs2_spanish2_ci         | ucs2     | 142 |         | Yes      |       8 |
 99 | ucs2_roman_ci            | ucs2     | 143 |         | Yes      |       8 |
100 | ucs2_persian_ci          | ucs2     | 144 |         | Yes      |       8 |
101 | ucs2_esperanto_ci        | ucs2     | 145 |         | Yes      |       8 |
102 | ucs2_hungarian_ci        | ucs2     | 146 |         | Yes      |       8 |
103 | ucs2_sinhala_ci          | ucs2     | 147 |         | Yes      |       8 |
104 | ucs2_general_mysql500_ci | ucs2     | 159 |         | Yes      |       1 |
105 | cp866_general_ci         | cp866    |  36 | Yes     | Yes      |       1 |
106 | cp866_bin                | cp866    |  68 |         | Yes      |       1 |
107 | keybcs2_general_ci       | keybcs2  |  37 | Yes     | Yes      |       1 |
108 | keybcs2_bin              | keybcs2  |  73 |         | Yes      |       1 |
109 | macce_general_ci         | macce    |  38 | Yes     | Yes      |       1 |
110 | macce_bin                | macce    |  43 |         | Yes      |       1 |
111 | macroman_general_ci      | macroman |  39 | Yes     | Yes      |       1 |
112 | macroman_bin             | macroman |  53 |         | Yes      |       1 |
113 | cp852_general_ci         | cp852    |  40 | Yes     | Yes      |       1 |
114 | cp852_bin                | cp852    |  81 |         | Yes      |       1 |
115 | latin7_estonian_cs       | latin7   |  20 |         | Yes      |       1 |
116 | latin7_general_ci        | latin7   |  41 | Yes     | Yes      |       1 |
117 | latin7_general_cs        | latin7   |  42 |         | Yes      |       1 |
118 | latin7_bin               | latin7   |  79 |         | Yes      |       1 |
119 | utf8mb4_general_ci       | utf8mb4  |  45 | Yes     | Yes      |       1 |
120 | utf8mb4_bin              | utf8mb4  |  46 |         | Yes      |       1 |
121 | utf8mb4_unicode_ci       | utf8mb4  | 224 |         | Yes      |       8 |
122 | utf8mb4_icelandic_ci     | utf8mb4  | 225 |         | Yes      |       8 |
123 | utf8mb4_latvian_ci       | utf8mb4  | 226 |         | Yes      |       8 |
124 | utf8mb4_romanian_ci      | utf8mb4  | 227 |         | Yes      |       8 |
125 | utf8mb4_slovenian_ci     | utf8mb4  | 228 |         | Yes      |       8 |
126 | utf8mb4_polish_ci        | utf8mb4  | 229 |         | Yes      |       8 |
127 | utf8mb4_estonian_ci      | utf8mb4  | 230 |         | Yes      |       8 |
128 | utf8mb4_spanish_ci       | utf8mb4  | 231 |         | Yes      |       8 |
129 | utf8mb4_swedish_ci       | utf8mb4  | 232 |         | Yes      |       8 |
130 | utf8mb4_turkish_ci       | utf8mb4  | 233 |         | Yes      |       8 |
131 | utf8mb4_czech_ci         | utf8mb4  | 234 |         | Yes      |       8 |
132 | utf8mb4_danish_ci        | utf8mb4  | 235 |         | Yes      |       8 |
133 | utf8mb4_lithuanian_ci    | utf8mb4  | 236 |         | Yes      |       8 |
134 | utf8mb4_slovak_ci        | utf8mb4  | 237 |         | Yes      |       8 |
135 | utf8mb4_spanish2_ci      | utf8mb4  | 238 |         | Yes      |       8 |
136 | utf8mb4_roman_ci         | utf8mb4  | 239 |         | Yes      |       8 |
137 | utf8mb4_persian_ci       | utf8mb4  | 240 |         | Yes      |       8 |
138 | utf8mb4_esperanto_ci     | utf8mb4  | 241 |         | Yes      |       8 |
139 | utf8mb4_hungarian_ci     | utf8mb4  | 242 |         | Yes      |       8 |
140 | utf8mb4_sinhala_ci       | utf8mb4  | 243 |         | Yes      |       8 |
141 | cp1251_bulgarian_ci      | cp1251   |  14 |         | Yes      |       1 |
142 | cp1251_ukrainian_ci      | cp1251   |  23 |         | Yes      |       1 |
143 | cp1251_bin               | cp1251   |  50 |         | Yes      |       1 |
144 | cp1251_general_ci        | cp1251   |  51 | Yes     | Yes      |       1 |
145 | cp1251_general_cs        | cp1251   |  52 |         | Yes      |       1 |
146 | utf16_general_ci         | utf16    |  54 | Yes     | Yes      |       1 |
147 | utf16_bin                | utf16    |  55 |         | Yes      |       1 |
148 | utf16_unicode_ci         | utf16    | 101 |         | Yes      |       8 |
149 | utf16_icelandic_ci       | utf16    | 102 |         | Yes      |       8 |
150 | utf16_latvian_ci         | utf16    | 103 |         | Yes      |       8 |
151 | utf16_romanian_ci        | utf16    | 104 |         | Yes      |       8 |
152 | utf16_slovenian_ci       | utf16    | 105 |         | Yes      |       8 |
153 | utf16_polish_ci          | utf16    | 106 |         | Yes      |       8 |
154 | utf16_estonian_ci        | utf16    | 107 |         | Yes      |       8 |
155 | utf16_spanish_ci         | utf16    | 108 |         | Yes      |       8 |
156 | utf16_swedish_ci         | utf16    | 109 |         | Yes      |       8 |
157 | utf16_turkish_ci         | utf16    | 110 |         | Yes      |       8 |
158 | utf16_czech_ci           | utf16    | 111 |         | Yes      |       8 |
159 | utf16_danish_ci          | utf16    | 112 |         | Yes      |       8 |
160 | utf16_lithuanian_ci      | utf16    | 113 |         | Yes      |       8 |
161 | utf16_slovak_ci          | utf16    | 114 |         | Yes      |       8 |
162 | utf16_spanish2_ci        | utf16    | 115 |         | Yes      |       8 |
163 | utf16_roman_ci           | utf16    | 116 |         | Yes      |       8 |
164 | utf16_persian_ci         | utf16    | 117 |         | Yes      |       8 |
165 | utf16_esperanto_ci       | utf16    | 118 |         | Yes      |       8 |
166 | utf16_hungarian_ci       | utf16    | 119 |         | Yes      |       8 |
167 | utf16_sinhala_ci         | utf16    | 120 |         | Yes      |       8 |
168 | cp1256_general_ci        | cp1256   |  57 | Yes     | Yes      |       1 |
169 | cp1256_bin               | cp1256   |  67 |         | Yes      |       1 |
170 | cp1257_lithuanian_ci     | cp1257   |  29 |         | Yes      |       1 |
171 | cp1257_bin               | cp1257   |  58 |         | Yes      |       1 |
172 | cp1257_general_ci        | cp1257   |  59 | Yes     | Yes      |       1 |
173 | utf32_general_ci         | utf32    |  60 | Yes     | Yes      |       1 |
174 | utf32_bin                | utf32    |  61 |         | Yes      |       1 |
175 | utf32_unicode_ci         | utf32    | 160 |         | Yes      |       8 |
176 | utf32_icelandic_ci       | utf32    | 161 |         | Yes      |       8 |
177 | utf32_latvian_ci         | utf32    | 162 |         | Yes      |       8 |
178 | utf32_romanian_ci        | utf32    | 163 |         | Yes      |       8 |
179 | utf32_slovenian_ci       | utf32    | 164 |         | Yes      |       8 |
180 | utf32_polish_ci          | utf32    | 165 |         | Yes      |       8 |
181 | utf32_estonian_ci        | utf32    | 166 |         | Yes      |       8 |
182 | utf32_spanish_ci         | utf32    | 167 |         | Yes      |       8 |
183 | utf32_swedish_ci         | utf32    | 168 |         | Yes      |       8 |
184 | utf32_turkish_ci         | utf32    | 169 |         | Yes      |       8 |
185 | utf32_czech_ci           | utf32    | 170 |         | Yes      |       8 |
186 | utf32_danish_ci          | utf32    | 171 |         | Yes      |       8 |
187 | utf32_lithuanian_ci      | utf32    | 172 |         | Yes      |       8 |
188 | utf32_slovak_ci          | utf32    | 173 |         | Yes      |       8 |
189 | utf32_spanish2_ci        | utf32    | 174 |         | Yes      |       8 |
190 | utf32_roman_ci           | utf32    | 175 |         | Yes      |       8 |
191 | utf32_persian_ci         | utf32    | 176 |         | Yes      |       8 |
192 | utf32_esperanto_ci       | utf32    | 177 |         | Yes      |       8 |
193 | utf32_hungarian_ci       | utf32    | 178 |         | Yes      |       8 |
194 | utf32_sinhala_ci         | utf32    | 179 |         | Yes      |       8 |
195 | binary                   | binary   |  63 | Yes     | Yes      |       1 |
196 | geostd8_general_ci       | geostd8  |  92 | Yes     | Yes      |       1 |
197 | geostd8_bin              | geostd8  |  93 |         | Yes      |       1 |
198 | cp932_japanese_ci        | cp932    |  95 | Yes     | Yes      |       1 |
199 | cp932_bin                | cp932    |  96 |         | Yes      |       1 |
200 | eucjpms_japanese_ci      | eucjpms  |  97 | Yes     | Yes      |       1 |
201 | eucjpms_bin              | eucjpms  |  98 |         | Yes      |       1 |
202 +--------------------------+----------+-----+---------+----------+---------+
203 197 rows in set (0.00 sec)
204 
205 mysql> 
查看類命令-查詢字符集的排序方式
1 mysql> show variables like 'data%';
2 +---------------+---------------+
3 | Variable_name | Value         |
4 +---------------+---------------+
5 | datadir       | /data/mydata/ |
6 +---------------+---------------+
7 1 row in set (0.00 sec)
8 
9 mysql> 
查看類命令-查看服務器變量,能夠經過like命令進行過濾。
1 mysql> show global variables like 'version';
2 +---------------+------------+
3 | Variable_name | Value      |
4 +---------------+------------+
5 | version       | 5.5.54-log |
6 +---------------+------------+
7 1 row in set (0.00 sec)
8 
9 mysql> 
查看類命令-查看全局變量
1 mysql> show session variables like 'tmp_table_size';
2 +----------------+----------+
3 | Variable_name  | Value    |
4 +----------------+----------+
5 | tmp_table_size | 16777216 |
6 +----------------+----------+
7 1 row in set (0.00 sec)
8 
9 mysql> 
查看類命令-查看會話的變量
1 mysql> show status like 'Com_select';
2 +---------------+-------+
3 | Variable_name | Value |
4 +---------------+-------+
5 | Com_select    | 4     |
6 +---------------+-------+
7 1 row in set (0.00 sec)
8 
9 mysql> 
查看類命令-服務器運行狀態

d>.刪除數據(delete)

   用法格式:「 delete from TableName where ConditionalExpression;」

 1 mysql> select * from Student;
 2 +-------+--------------+-----+--------+
 3 | StuID | Name         | Age | Gender |
 4 +-------+--------------+-----+--------+
 5 |     1 | yinzihengjie |  17 | boy    |
 6 |     2 | linus        |  48 | boy    |
 7 |     3 | dengziqi     |  26 | girl   |
 8 |     4 | jay Chou     |  38 | boy    |
 9 |     5 | joker Xue    |  34 | boy    |
10 |     6 | zhangweijian |  52 | boy    |
11 +-------+--------------+-----+--------+
12 6 rows in set (0.00 sec)
13 
14 mysql> delete from Student where name like 'z%';
15 Query OK, 1 row affected (0.00 sec)
16 
17 mysql> select * from Student;
18 +-------+--------------+-----+--------+
19 | StuID | Name         | Age | Gender |
20 +-------+--------------+-----+--------+
21 |     1 | yinzihengjie |  17 | boy    |
22 |     2 | linus        |  48 | boy    |
23 |     3 | dengziqi     |  26 | girl   |
24 |     4 | jay Chou     |  38 | boy    |
25 |     5 | joker Xue    |  34 | boy    |
26 +-------+--------------+-----+--------+
27 5 rows in set (0.00 sec)
28 
29 mysql> 
模糊匹配(like)用法展現
 1 mysql> select * from Student;
 2 +-------+--------------+-----+--------+
 3 | StuID | Name         | Age | Gender |
 4 +-------+--------------+-----+--------+
 5 |     1 | yinzihengjie |  17 | boy    |
 6 |     2 | linus        |  48 | boy    |
 7 |     3 | dengziqi     |  26 | girl   |
 8 |     4 | jay Chou     |  38 | boy    |
 9 |     5 | joker Xue    |  34 | boy    |
10 +-------+--------------+-----+--------+
11 5 rows in set (0.00 sec)
12 
13 mysql> delete from Student where Name rlike '^l.*';
14 Query OK, 1 row affected (0.00 sec)
15 
16 mysql> select * from Student;
17 +-------+--------------+-----+--------+
18 | StuID | Name         | Age | Gender |
19 +-------+--------------+-----+--------+
20 |     1 | yinzihengjie |  17 | boy    |
21 |     3 | dengziqi     |  26 | girl   |
22 |     4 | jay Chou     |  38 | boy    |
23 |     5 | joker Xue    |  34 | boy    |
24 +-------+--------------+-----+--------+
25 4 rows in set (0.00 sec)
26 
27 mysql> 
模糊匹配(rlike)用法展現 

e>.更新數據(update)

  用法格式:「update TableName set VariableType = VariableValue where ConditionalExpression;」

 1 mysql> select * from Student;
 2 +-------+--------------+-----+--------+
 3 | StuID | Name         | Age | Gender |
 4 +-------+--------------+-----+--------+
 5 |     1 | yinzihengjie |  17 | boy    |
 6 |     3 | dengziqi     |  26 | girl   |
 7 |     4 | jay Chou     |  38 | boy    |
 8 |     5 | joker Xue    |  34 | boy    |
 9 +-------+--------------+-----+--------+
10 4 rows in set (0.00 sec)
11 
12 mysql> update Student set Age=20 where Name = 'yinzihengjie';
13 Query OK, 1 row affected (0.04 sec)
14 Rows matched: 1  Changed: 1  Warnings: 0
15 
16 mysql> select * from Student;
17 +-------+--------------+-----+--------+
18 | StuID | Name         | Age | Gender |
19 +-------+--------------+-----+--------+
20 |     1 | yinzihengjie |  20 | boy    |
21 |     3 | dengziqi     |  26 | girl   |
22 |     4 | jay Chou     |  38 | boy    |
23 |     5 | joker Xue    |  34 | boy    |
24 +-------+--------------+-----+--------+
25 4 rows in set (0.00 sec)
26 
27 mysql> 
update用法展現

 

五.MySQL內置的SQL模型(SQL_MODE)

1.MySQL內置的SQL模型經常使用的模式

  MySQL有內置的SQL模型SQL_MODE:用來定義字符超出的操做和模仿別的數據庫的類型,經過修改全局變量。 經常使用的模式有:

    A>.TRADITIONAL 使用傳統模式
    B>.STRICT_TRANS_TABLES 僅對支持事務的表的嚴格模式
    C>.STRICT_ALL_TABLES 對全部表使用嚴格模式

2.設定服務器變量的值:一般僅用於支持動態的變量

 

  A>.支持修改的服務器變量
    動態變量:能夠在MySQL運行時修改
    靜態變量:與配置文件中修改其值,並重啓後方能生效
  B>.服務器變量從其生效範圍來說,分兩類
    全局變量:服務器級別,修改以後僅對新創建的會話生效
    回話變量:會話級別,僅對當前會話有效
    會話創建時,從全局繼承各變量
  C>.查看服務器變量
    mysql> show [{global|session}] variables [like ''];
    mysql> select @@{globa|session}.variable_name
    mysql> mysql> select * from information_schema.GLOBAL_VARIABLES where VARIABLE_NAME='SOME_VARIABLE_NAME'; 查看全局變量
    mysql> mysql> select * from information_schema.SESSION_VARIABLES where VARIABLE_NAME='SOME_VARIABLE_NAME'; 查看會話變量

  D>.修改變量
    前提:默認僅管理員有權限修改全局變量
    mysql> set {global|session} variable_name='value';
    注意:不管是全局仍是會話級別的動態變量修改,在重啓mysql後都會失效,想永久有效,能夠定義在配置文件中的響應段中[mysqld]

相關文章
相關標籤/搜索