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;
-- 左連接
明天寫
-- 右連接
明天寫
                