1、資料庫操作 1.1、連接mysql伺服器 mysql -u root( 用戶名 ) -p 1.2、退出mysql命令提示窗 exit 1.3、查看版本 SELECT VERSION(); 1.4、列出資料庫列表 SHOW DATABASES; 1.5、創建資料庫 CREATE DATABASE ...
1、資料庫操作
1.1、連接mysql伺服器
mysql -u root( 用戶名 ) -p
1.2、退出mysql命令提示窗
exit
1.3、查看版本
SELECT VERSION();
1.4、列出資料庫列表
SHOW DATABASES;
1.5、創建資料庫
CREATE DATABASE IF NOT EXISTS [database] DEFAULT CHARSET UTF8;
1.6、選擇要操作的資料庫
USE [database];
1.7、刪除資料庫
GROP DATABASE [database];
2、表操作(建立在已經選定了資料庫上)
2.1、創建表
CREATE TABLE IF NOT EXISTS [`tableName`] (`columnName` columnType PRIMARY KEY/...) CHARSET UTF8;
PRIMARY KEY:設置欄位為主鍵;
AUTO_INCREMENT:自增;
NOT NUL:欄位數據不為NULL,否則報錯;
CHARSET:設置編碼格式。
2.2、列出表
SHOW TABLES;
2.3、查詢數據表欄位信息
SHOW COLUMNS FROM [tableName];
2.4、查詢數據表的詳細索引信息
SHOW INDEX FROM [tableName];
2.5、查詢管理系統的性能及統計信息
SHOW TABLE STATUS FROM [database] LIKE '**%'\G;
**%:以什麼開頭;
\G:按列顯示。
2.6、刪除數據表
DROP TABLE [tableName];
2.7、修改表見4.9
3、數據操作(增刪改查)
3.1、插入數據
INSERT INTO [tableName] (key1, key2) VALUES (val1, val2);
3.2、刪除數據
DELETE FROM [tableName] condition;
condition:WHERE id=1 / ...
3.3、修改更新數據
UPDATE [tableName] SET key1=val1, key2=val2 condition;
3.4、查詢數據
SELECT */(key1, key2) FROM [tableName];
*:查全部;
key1, key2:想要查詢的欄位。
4、子句(配合增刪改查等操作)
4.1、WHERE
AND:與條件
eg:SELECT */(key1, key2) FROM [tableName] WHERE id=1 AND name='newname';
OR:或條件
eg:SELECT */(key1, key2) FROM [tableName] WHERE id=2 OR name='newname';
4.2、LIKE % —— 可以模糊查詢
表中有以下數據:
無%:精確查詢:
、
%**在前:已**結尾:SELECT * FROM [tableName] WHERE key LIKE '%val';
**%在後:已**開頭:SELECT * FROM [tableName] WHERE key LIKE 'val%';
%**%:包含**:SELECT * FROM [tableName] WHERE key LIKE '%val%';
4.3、UNION ALL/DISTINCT —— 得到兩個以上select語句結果的集合
有以下兩表:
ALL:不去重
DISTINCT:去重
4.4、ORDER BY key ASC/DESC —— asc升序,desc降序
4.5、GROUP BY —— 分組統計
SELECT name COUNT(*)/SUM(key)/AVG(key) AS newName FROM [tableName] GROUP BY name WITH ROLLUP;(分組統計name的個數以欄位newName顯示統計個數)
4.6、JOIN —— 連接
有以下兩表:
INNER JOIN(獲取兩表匹配關係記錄):SELECT a.name, b.count FROM [tableName1] a INNER JOIN [tableName2] b ON a.name=b.name;
相當於語句:SELECT a.name, b.count FROM [tableName1] a, [tableName2] b WHERE a.name=b.name;
LEFT JOIN(左連接 獲取左表記錄,即使右表沒有)
RIGHT JOIN(右連接 獲取右表記錄,即使左表沒有)
4.7、NULL
IS NULL:值為NULL;
IS NOT NULL:值不為NULL。
4.8、REGEXP —— 正則
SELECT * FROM [tableName] WHERE name REGEXP 'regexp';
4.9、ALTER —— 增刪改欄位
表原結構:
添加一列:ALTER TABLE [tableName] ADD newKey INT/... NOT NULL DEFAULT ‘val‘ FIRST/AFTER key; 添加新欄位newKey預設值為val於第一列或key列之後
FIRST:添加欄位到第一列;
AFTER:添加欄位到**欄位之後;
DEFAULT:設置欄位預設值。
刪除一列:ALTER TABLE [tableName] DROP newKey;
修改一列:ALTER TABLE [tableName] CHANGE key newKey INT/...;
修改表:ALTER TABLE [tableName] RENAME TO [newTableName];
-------以上如有問題歡迎指出,轉載請說明出處