1、查看版本信息:mysqladmin --version
2、設置密碼:mysqladmin -u root password "new_password";
3、連接數據庫:mysql -u root -p
再輸入密碼
4、啓動:mysql --console
5、關閉:mysqladmin -uroot shutdown
6、連接目標數據庫:use 數據庫名
7、列出MySQL數據庫管理系統的數據庫列表:show DATABASES;
8、顯示指定數據庫的所有表:SHOW TABLES;
9、顯示數據表的屬性、屬性類型、主鍵信息、是否爲空,默認值等:SHOW COLUMNS FROM 數據表名
10、顯示數據表的詳細索引信息,包括PRIMARY KEY(主鍵):SHOW INDEX FROM 數據表名;
11、SHOW TABLE STATUS LIKE [FROM db_name] [LIKE 'pattern'] \G:
該命令將輸出Mysql數據庫管理系統的性能及統計信息。
mysql> SHOW TABLE STATUS FROM RUNOOB; # 顯示數據庫 RUNOOB 中所有表的信息
mysql> SHOW TABLE STATUS from RUNOOB LIKE 'runoob%'; # 表名以runoob開頭的表的信息
mysql> SHOW TABLE STATUS from RUNOOB LIKE 'runoob%'\G; # 加上 \G,查詢結果按列打印
12、創建數據庫:CREATE DATABASE 數據庫名;
mysqladmin創建數據庫:mysqladmin -u root -p create 數據庫名
13、刪除數據庫:drop database 數據庫名;
mysqladmin創建數據庫:mysqladmin -u root -p drop 數據庫名
14、創建數據表:CREATE TABLE table_name(column_name column_type);
以下例子中我們將在 RUNOOB 數據庫中創建數據表runoob_tbl:
CREATE TABLE IF NOT EXISTS `runoob_tbl`(
`runoob_id` INT UNSIGNED AUTO_INCREMENT,
`runoob_title` VARCHAR(100) NOT NULL,
`runoob_author` VARCHAR(40) NOT NULL,
`submission_date` DATE,
PRIMARY KEY ( `runoob_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
實例解析:
如果你不想字段爲 NULL 可以設置字段的屬性爲 NOT NULL, 在操作數據庫時如果輸入該字段的數據爲NULL ,就會報錯。
AUTO_INCREMENT定義列爲自增的屬性,一般用於主鍵,數值會自動加1。
PRIMARY KEY關鍵字用於定義列爲主鍵。 您可以使用多列來定義主鍵,列間以逗號分隔。
ENGINE 設置存儲引擎,CHARSET 設置編碼。
15、刪除數據表:DROP TABLE table_name;
16、常用的插入:INSERT INTO table_name(field1,field2,...fieldN) VALUES(value1,value2,..valueN);
17、查詢數據:SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[LIMIT N] [OFFSRT M]
查詢語句中你可以使用一個或者多個表,表之間使用逗號(,)分割,並使用WHERE語句來設定查詢條件。
SELECT 命令可以讀取一條或者多條記錄。
你可以使用星號(*)來代替其他字段,SELECT語句會返回表的所有字段數據
你可以使用 WHERE 語句來包含任何條件。
你可以使用 LIMIT 屬性來設定返回的記錄數。
你可以通過OFFSET指定SELECT語句開始查詢的數據偏移量。默認情況下偏移量爲0。
18、更新操作:UPDATE table_name SET field1=new_value1,field2=new_value2
[WHERE Clause]
19、刪除:DELETE FROM table_name[WHERE Clause]
20、LIKE 子句:需要獲取 runoob_author 字段含有 "COM" 字符的所有記錄,這時我們就需要在 WHERE 子
句中使用 SQL LIKE 子句。SQL LIKE 子句中使用百分號 %字符來表示任意字符,類似於UNIX或正則表達式中
的星號 *。
如果沒有使用百分號 %, LIKE 子句與等號 = 的效果是一樣的
以下是 SQL SELECT 語句使用 LIKE 子句從數據表中讀取數據的通用語法:
SELECT field1, field2,...fieldN
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
你可以在 WHERE 子句中指定任何條件。
你可以在 WHERE 子句中使用LIKE子句。
你可以使用LIKE子句代替等號 =。
LIKE 通常與 % 一同使用,類似於一個元字符的搜索。
你可以使用 AND 或者 OR 指定一個或多個條件。
你可以在 DELETE 或 UPDATE 命令中使用 WHERE...LIKE 子句來指定條件。
SELECT * from runoob_tbl WHERE runoob_author LIKE '%COM';
+-----------+---------------+---------------+-----------------+
| runoob_id | runoob_title | runoob_author | submission_date |
+-----------+---------------+---------------+-----------------+
| 3 | 學習 Java | RUNOOB.COM | 2015-05-01 |
| 4 | 學習 Python | RUNOOB.COM | 2016-03-06 |
+-----------+---------------+---------------+-----------------+
21、UNION 操作符:
描述
MySQL UNION 操作符用於連接兩個以上的 SELECT 語句的結果組合到一個結果集合中。多個 SELECT 語句會刪除重複的數據。
語法
MySQL UNION 操作符語法格式:
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];
參數
expression1, expression2, ... expression_n: 要檢索的列。
tables: 要檢索的數據表。
WHERE conditions: 可選, 檢索條件。
DISTINCT: 可選,刪除結果集中重複的數據。默認情況下 UNION 操作符已經刪除了重複數據,所以 DISTINCT 修飾符對結果沒啥影響。
ALL: 可選,返回所有結果集,包含重複數據。
演示數據庫
在本教程中,我們將使用 RUNOOB 樣本數據庫。
下面是選自 "Websites" 表的數據:
mysql> SELECT * FROM Websites;
+----+--------------+---------------------------+-------+---------+
| id | name | url | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1 | Google | https://www.google.cm/ | 1 | USA |
| 2 | 淘寶 | https://www.taobao.com/ | 13 | CN |
| 3 | 菜鳥教程 | http://www.runoob.com/ | 4689 | CN |
| 4 | 微博 | http://weibo.com/ | 20 | CN |
| 5 | Facebook | https://www.facebook.com/ | 3 | USA |
| 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND |
+----+---------------+---------------------------+-------+---------+
下面是 "apps" APP 的數據:
mysql> SELECT * FROM apps;
+----+------------+-------------------------+---------+
| id | app_name | url | country |
+----+------------+-------------------------+---------+
| 1 | QQ APP | http://im.qq.com/ | CN |
| 2 | 微博 APP | http://weibo.com/ | CN |
| 3 | 淘寶 APP | https://www.taobao.com/ | CN |
+----+------------+-------------------------+---------+
3 rows in set (0.00 sec)
SQL UNION 實例
下面的 SQL 語句從 "Websites" 和 "apps" 表中選取所有不同的country(只有不同的值):
實例
SELECT country FROM Websites
UNION
SELECT country FROM apps
ORDER BY country;
執行以上 SQL 輸出結果如下:
註釋:UNION 不能用於列出兩個表中所有的country。如果一些網站和APP來自同一個國家,每個國家只會列出一次。UNION 只會選取不同的值。請使用 UNION ALL 來選取重複的值!
SQL UNION ALL 實例
下面的 SQL 語句使用 UNION ALL 從 "Websites" 和 "apps" 表中選取所有的country(也有重複的值):
實例
SELECT country FROM Websites
UNION ALL
SELECT country FROM apps
ORDER BY country;
執行以上 SQL 輸出結果如下:
帶有 WHERE 的 SQL UNION ALL
下面的 SQL 語句使用 UNION ALL 從 "Websites" 和 "apps" 表中選取所有的中國(CN)的數據(也有重複的值):
實例
SELECT country, name FROM Websites
WHERE country='CN'
UNION ALL
SELECT country, app_name FROM apps
WHERE country='CN'
ORDER BY country;