SQL的核心基础语法 | 快速入门MySQL
这里写目录标题
- MySql 核心基础语法
- 創建數據庫
- 創建表格
- 插入記錄
- 我想修改表格內容 怎麼做
- 數據練習 🌟
- 我要合併表格數據
MySql 核心基础语法
Mysql 並不是代表的數據庫, 而是一個數據庫系統, 來維護管理數據庫
Mysql 是可以管理多個數據庫的: 個人電腦/伺服器
有些服務器是專門用來作為數據庫的 每臺服務器還可以有多個數據庫
創建數據庫
# 建議sql關鍵字全部大寫 雖然有些不區分大小寫
CREATE DATABASE 數據庫名;
創建表格
CREATE TABLE 表格名稱(
列名1 INT,
列名2 VARCHAR(),
列名3 DATE
)
創建記錄銷售多少 egg 的表格
NOT NULL
為非空
NULL
可以為空
PRIMARY KEY
為主鍵 一定不能為空
AUTO_INCREMENT
遞增
CREATE TABLE eggs_record(
id INT AUTO_INCREMENT PRIMARY KEY,
egg_name VARCHAR(10) NOT NULL,
sold DATE NULL
);
插入記錄
INSERT INTO 數據庫.表格名稱(
列名1, 列名2, 列名3)
VALUES (
值1, 值2, 值3);
現在讓我們來插入一些數據
INSERT INTO egg.eggs_record(
id, egg_name, sold)
VALUES (1, '雞蛋', '2020-01-01');
也可以這樣寫
INSERT INTO egg.eggs_record
VALUES (2, '鴨蛋', '2020-02-02');
因為ID是自動遞增 所以我們可以用DEFAULT表示默認值
INSERT INTO egg.eggs_record
VALUES (DEFAULT, '龜蛋', NULL);
我想修改表格內容 怎麼做
# 在指定数据库的特定表中添加一个新的列
ALTER TABLE 數據庫名.表格名稱
ADD 列名 數據類型 默認條件
我要新增一個 stock
字段
ALTER TABLE egg.eggs_record
ADD stock INT NULL;
我要更新某個字段的值
UPDATE egg.eggs_record
SET sold = '2020-06-06'
WHERE id = 3;
我要刪除某條數據
DELETE FROM egg.eggs_record
WHERE id = 1;
我要直接刪除某個表格
DROP TABLE egg.eggs_record;
我要直接刪除某個數據庫
DROP DATABASE egg;
數據練習 🌟
-- 创建数据库Egg_database
這裡是Mysql的練習 數據連結: 🌟🌟🌟🌟🌟
https://gitee.com/eggtoopain/my-sql-introductory-courseware/blob/master/Egg_database.sql
兩個表格的意思: Covid_month
某個月全球新冠感染人數,Covid_month_country
某段時間全球的新冠感染人數
我要查看全部內容
SELECT * FROM 表格名稱;
我偏要查看某一列數據
SELECT 列名1, 列名2 FROM 表格名稱;
查看數據
SELECT * FROM Covid_month;
-- 只看國家,確診人數,對應的洲名
SELECT Country, Confirmed, Continent
FROM Covid_month;
-- 我想看這個表格具體是出自哪些洲
SELECT DISTINCT Continent
FROM Covid_month;
我想對表格進行排序
-- SELECT *
-- FROM 表格名
-- ORDER BY 列名 ASC(默認 從小到大)/DESC(從大到小);
SELECT *
FROM Covid_month
ORDER BY Confirmed ASC;
我想對表格進行過濾
-- SELECT * FROM 表格名
-- WHERE 條件
-- ORDER BY 列名 ASC/DESC;
SELECT *
FROM Covid_month
WHERE Recovered >= 1000000 AND Country != 'Brazil'
ORDER BY Confirmed ASC;
FROM Covid_month
WHERE NOT Recovered >= 1000000 AND Country != 'Brazil'
ORDER BY Confirmed ASC;
-- 查看區間數據
FROM Covid_month
WHERE Recovered BETWEEN 1000000 AND 1500000
ORDER BY Confirmed ASC;
-- IN 表示字符範圍
FROM Covid_month
WHERE Country IN ('Brazil', 'India')
ORDER BY Confirmed ASC;
-- 如果我忘記國家名字叫什麼
FROM Covid_month
WHERE Country LIKE 'B%'
ORDER BY Confirmed ASC;
-- 我要找到第三個字母是b的字符
FROM Covid_month
WHERE Country LIKE '__b%'
ORDER BY Confirmed ASC;
我要合併表格數據
-- 交集 JOIN
SELECT * FROM Covid_month
INNER JOIN Covid_total
ON Covid_month.Country = Covid_total.Country;
-- 並集 UNION
SELECT Country
FROM Covid_month
UNION ALL
SELECT Country
FROM Covid_total;
-- 左連接
明天寫
-- 右連接
明天寫