**1. `create`語句創建數據表**
```sql
-- 學生表
drop table if exists student; -- 如果student數據表早存在,則刪除
create table student -- 創建數據庫
(
sID char(8) primary key not null, -- 學號
sName varchar(50) not null, -- 姓名
sEmail varchar(50), -- 郵箱
sInDate date not null -- 出生日期
)engine=innodb default charset=utf8;
-- 課程表
drop table if exists course;
create table course
(
cCode char(3) primary key not null, -- 課程代號
cName varchar(50) not null, -- 課程名稱
cType char(2) not null default '必須' -- 課程類型(選修、必修)
)engine=innodb default charset=utf8;
-- 成績表
drop table if exists score;
create table score
(
sID char(8) not null, -- 學號
sCode char(3) not null, -- 課程代號
sScore double not null, -- 成績
foreign key (sID) references student(sID), -- 外鍵,將表score與表student建立了聯系
foreign key (sCode) references course(cCode) -- 外鍵,將表score與表course建立了聯系
)engine=innodb default charset=utf8;
```
**2. `insert`語句插入數據**
```sql
語法1:給指定的列,插入指定的值
insert into table01(column1, column2, ...) values(v1, v2, ...);
語法2:給所有列都插入值
insert into table01 values(v1, v2, ...);
-- 即使是auto_increment(自增),也可插入指定的值,甚至可以是null;
-- 有default關鍵字的列,可以就寫default,采用默認值。
語法3:一條insert語句,插入多行記錄
insert into table01 values
(v1, v2, ...),
(v1, v2, ...),
... -- 最后一行不要添加 , 符號
語法4:將一個舊表的一些記錄插入到新表
insert into newTable select column1, column2, ... from oldTable where 條件;
語法5:將多個表的記錄插入到一個表中,這個語法稱為子查詢
insert into table01 values(
(select column01 from table02 where 條件), -- 子查詢1
(select column02 from table03 where 條件), -- 子查詢2
);
```
**3. `update`語句更新數據表的記錄**
```sql
語法1:
update table01 set column1=v1, column2=v2, ... where 條件;
-- where 是條件語句,后面常跟 and 、or、between、in、like等關鍵字
語法2:采用子查詢
update table01 set column1=v1 where column2 in
(select column2 from table02 where column3 like v1);
-- in ,like 都是用于判斷的關鍵字
-- 注意,如果對table01進行增、刪,改,則不要同時對table01進行查詢
```
**4. `delete `語句刪除數據表的若干行**
```sql
語法1:如果存在自增的列,刪除后,也不再使用
delete from table01 where 條件;
語法2:如果涉及到兩個表以上的刪除可以采用子查詢
delete from table01 where column1 in
(select column2 from table02 where 條件), -- 子查詢
-- 在實際項目中,一般不允許使用delete語句。可以使用update語句,
-- 或者insert插入到備份表,再delete。
```
**5. `truncate` 語句清空整個數據表**
```sql
truncate table table01;
```
- MySQL
- MySQL是什么
- MySQL環境搭建
- centos7-MySQL8
- windows-MySQL8
- 數據庫軟件
- sqlyog軟件安裝
- navicat軟件安裝
- powerDesigner軟件安裝
- RDBMS術語
- SQL語句組成
- 數據庫系統組成
- 數據庫操作
- 數據表操作
- 查詢語句
- 基本語法
- 子查詢
- 表連接
- 查詢語句執行順序
- 事務
- 事務是什么
- 事務的作用
- 事務的4個特性
- 事務隔離級別
- 事務的實現
- 索引
- 索引的作用
- 索引操作
- 存儲引擎
- 備份與恢復
- 視圖
- 視圖是什么
- 視圖的作用
- 創建視圖
- 查看視圖
- 更改視圖
- DML操作視圖
- 刪除視圖
- 存儲過程與函數
- 過程與函數是什么
- 存儲過程操作
- 定義存儲過程
- 調用存儲過程
- 查看存儲過程
- 刪除存儲過程
- 修改存儲過程
- 函數操作
- 過程與函數區別
- 流程控制
- if語句
- case語句
- while循環語句
- repeat循環語句
- loop循環語句
- 變量
- 處理程序
- 光標
- Redis
- 簡介
- 下載與安裝
- 命令操作redis數據庫
- 通用命令
- 數據操作
- 持久化
- Windows上的持久化操作
- 數據庫設計
- 數據庫設計過程
- ER模型圖
- MongoDB
- MongoDB是什么?
- MongoDB特性
- MongoDB 數據模型
- 安裝MongoDB
- MongoDB認證
- Database操作
- Collection操作
- Document操作
- 插入
- 查詢
- 更新
- 刪除
- buckWrite
- MongoDB索引
- 副本集
- 聚焦分析
- 事務管理
- 寫關注
- 讀關注