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

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;

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

相关文章:

  • 【mysql疑难杂症】mysql数据库指定ip远程连接数据库
  • Mybatis中 ${} 和 #{} 的区别
  • C++项目:高并发内存池_下
  • dell 台式机 电脑 纽扣电池 如何取下?
  • 【NLP 44、实践 ⑪ 用Bert模型结构实现自回归语言模型的训练】
  • c#个人向总结
  • 【Linux网络】——Socket网络编程
  • optimization和compression理解
  • conda install 慢
  • Visual Studio 2019 Qt QML 项目环境搭建常见问题处理方法
  • 飞速(FS)企业网布线解决方案:赋能能源行业客户高效网络部署与智能化管理
  • 再探带权并查集
  • 麒麟信安全国产化智算一体机与海光C86芯片+ 海光DCU卡完成兼容性适配!
  • Softmax 回归 + 损失函数 + 图片分类数据集
  • LangChain开发(七)自定义输出格式(JSON/XML/YAML)
  • VMware面向公众的存储库 URL 和身份验证机制正在发生变化
  • 帕金森患者的生活重塑:从 “嘴” 开启康复之旅
  • AutoCAD C#二次开发中WinForm与WPF的对比
  • 告别分库分表,时序数据库 TDengine 解锁燃气监控新可能
  • docker拉取镜像报错
  • 丁薛祥在学习《习近平经济文选》第一卷专题研讨班上强调,深入学习贯彻习近平经济思想,加强党中央对经济工作的集中统一领导
  • 【社论】跑赢12级狂风,敦煌做对了什么
  • 《中国医药指南》就涉宫颈癌等论文出现男性病例致歉:辞退涉事编辑
  • 禅定佛的微笑,从樊锦诗提到过的那尊说起
  • 各地各部门贯彻落实习近平总书记重要指示精神坚决防范遏制重特大事故发生
  • 工信部:加强通用大模型和行业大模型研发布局