Mysql
注釋
-- 注釋
# 僅mysql中也可以用這個
創建資料庫
CREATE DATABASE 資料庫名;
使用資料庫
USE 資料庫名;
個人建議 操作資料庫前, 先使用USE陳述句選擇要操作的資料庫 這樣可以防止誤操作
資料庫里面的命名盡量使用小寫字母 用_分隔單詞 如 table_1 information_schema 因為sql中的關鍵字都是用的大寫
DDL
Data Definition Language 資料定義語言
定義資料結構和修改資料的語言
創建表
-- 創建一個表 需要指定列
CREATE TABLE 表名 (
列名 資料型別 完整性約束 COMMENT '列備注',
...可以有多條 用逗號分隔 最后一句不帶逗號
) COMMENT '表備注';
資料型別
最常用的幾種
sql中的資料型別對應java中的資料型別
| sql | java |
|---|---|
| INT | Integer |
| DECIMAL | Double |
| VARCHAR(長度) | String |
| DATETIME, DATE | Date |
完整性約束
主鍵約束
- 一張表只有一個主鍵
- 主鍵可以由一個或多個列組成(一般是一個列)
- 主鍵的值非空(不能為null)且唯一(不能有重復值)
- 主鍵作為這條資料的唯一標識
- 一般把表中的id列設定為主鍵
CRUD 增(create)刪(delete)改(update)查(read) (重要)
插入資料
-- 插入資料
INSERT INTO 表名(列名,列名 ...)
VALUES(值,值...);
列和值一一對應
列可以不用全給 個人建議全給 沒有值的給NULL值
洗掉資料
-- 洗掉資料
DELETE FROM 表名 WHERE 條件;
洗掉基于條件,滿足條件的資料都會被洗掉. 因此條件不建議省略, 省略條件會導致整張表的資料洗掉, 條件盡量使用唯一標識.
修改資料
-- 修改資料
UPDATE 表名 SET 列名=值 , 列名=值
WHERE 條件;
修改基于條件,滿足條件的資料都會被修改. 因此條件不建議省略
查詢資料
-- 查詢所有資訊
SELECT * FROM 表名;
-- 完整的查詢格式
SELECT 列名 AS 別名, -- AS 可以省略
列名
FROM 表名
WHERE 條件 -- WHERE 對查詢后的結果過濾;
復雜查詢
聚合函式
SUM(列名) 求和
AVG(列名) 求平均值
MAX(列名) 求最大值
MIN(列名) 求最小值
COUNT(列名) 計數
分組
GROUP BY 列名 對查詢后的結果 按某一列的值進行分組
分組可以用來去重
分組可以和聚合函式結合使用 求分組后的每一組的聚合后的結果
HAVING 條件 對分組后的結果進行過濾
排序
ORDER BY 列名 規則, 列名 規則... 對結果按某一列排序
默認正序 倒序需要指定規則為DESC
SELECT 列名 AS 別名
FROM 表名
WHERE 條件
GROUP BY ...
HAVING 條件
ORDER BY ...;
去重
DISTINCT 列名 列中去重重復值
可以在聚合函式中用 也可以在SELECT中使用
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/251619.html
標籤:MySQL
