当前位置: 首页 > article >正文

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;

-- 左連接
明天寫
-- 右連接
明天寫

http://www.kler.cn/a/613384.html

相关文章:

  • 【算法手记6】NC1 大数加法 NC40 链表相加(二) NC10 大数乘法
  • java开发环境本地全套
  • Linux-NFS服务的故障排查与优化
  • DATEDIFF 函数
  • 蓝桥Python真题——扫雷
  • 宝塔SSL申请Let‘s Encrypt提示“验证信息构造失败!{}“
  • 【Linux】进程控制和Shell的简易实现
  • 深入剖析Redis分布式锁:Redlock算法源码解读与实战
  • 【学Rust写CAD】15 定点数实现(fixed.rs)
  • Linux文件目录管理指令详解(下篇)
  • C语言之链表增删查改
  • CSS3学习教程,从入门到精通,CSS3 弹性盒子(Flexbox)布局全面指南(20)
  • 一款超级好用且开源免费的数据可视化工具——Superset
  • 前端技术有哪些
  • 微信小程序:数据拼接方法
  • 运维面试题(十一)
  • 明达网关云平台——开启透明化制造新时代
  • VMware Windows Tools 存在认证绕过漏洞(CVE-2025-22230)
  • Yolo_v8的安装测试
  • AI Agent浪潮下,昇腾与科大讯飞携手开辟AI落地“新航路”