測試學習SQL篇

yebing1991發表於2020-11-13

標題 :測試學習SQL篇

資料庫:可以理解為儲存資料的倉庫;
類似於圖書館,圖書館裡有一排排的資料,書架上有一本本的書;
書架按類別來區分放什麼書,書架就類似於資料庫裡的表,
資料就儲存在表裡,就跟書放在書架上一樣;每一本書都有一個編號,這個編號在這書架上是唯一的,這個就相當於我們的表的資料的主鍵;

好了,廢話這麼多,就為了形象的描述下資料庫。當然可能不夠貼切,有更貼切的可以在評論裡提出。謝謝;話不多說,進入正題;

下面就是一些基礎的SQL語句;

建立庫:
create database 資料庫名

開啟庫:
use 資料庫名

建表:
create table 表名(
欄位名1 int not null,
欄位名2 varchar(10),
欄位名3 varchar(10),
PRIMARY KEY (欄位名1)
);
注:PRIMARY KEY 主鍵
建約束就不說了,因為我比較膚淺。想了解的可以自己去搜搜;

刪除表
drop table 表名;

給表授權
GRANT 許可權 ON 表 TO 使用者
許可權:select 查詢資料,insert 插入資料,update 修改資料,delete 刪除資料,create 建立表,drop 刪除表

給表加欄位
ALTER TABLE 表名 ADD 新欄位名 資料型別 ;

給表改名
RENAME TABLE old_table_name TO new_table_name;

給欄位改名
ALTER TABLE 表名 CHANGE [column] 舊欄位名 新欄位名 新資料型別

刪除表欄位
ALTER TABLE 表名 DROP 欄位名;

插入資料
insert into 表名 (欄位名1,欄位名2) values (‘欄位值1’,’欄位值2’);

刪除資料
delete from 表名 where 欄位名1 =‘欄位值1’
修改資料
update 表名 set 欄位名1 =‘欄位值1’ where 欄位值2=‘欄位值2’
查詢資料
select * from 表名 where 欄位名1 =‘欄位值1’ and 欄位名2 = ‘欄位值2’;
select 欄位名1,欄位名2 from 表名;

多表關聯查詢
1、select * from 表 where … and …寫法;
1)內連線
SELECT * FROM 表1,表2,表3
WHERE 表1.關聯欄位1 =表2.關聯欄位1
AND 表3.關聯欄位1=表2.關聯欄位2
AND 其他條件;

2)左外連線 (部分版本不支援)
SELECT * FROM 表1 ,表2
WHERE 表1.關聯欄位1 =表2.關聯欄位1 (+)
注:(+)加在右表上,右外連線則反過來,只要將(+)加在左表上即可;

2、關聯寫法
1)內連線
SELECT * FROM 表1 a INNER JOIN 表2 b ON a.關聯欄位1= b.關聯欄位1 INNER JOIN 表3 c ON a.關聯欄位2= c.關聯欄位1 ;

2)左外連線
SELECT * FROM 表1 a LEFT JOIN 表2 b ON a.關聯欄位1= b.關聯欄位1 LEFT JOIN 表3 c ON a.關聯欄位2= c.關聯欄位1 ;

3)右外連線
SELECT * FROM 表1 a RIGHT JOIN 表2 b ON a.關聯欄位1= b.關聯欄位1 RIGHT JOIN 表3 c ON a.關聯欄位2= c.關聯欄位1 ;

在這裡插入圖片描述

相關文章