目錄
?
0、創建數據庫
1、調用指定的數據庫
2、創建數據表
2.1、SQL數據類型
1).字符型數據:
3).整數型數據
4).精確小數型數據
5).近似數值類型
6).貨幣型數據
7).位類型數據
2.2 實例創建表
?3、向表中插入
4、主鍵primary key
5、查詢字段
5.1、使用distinct 去除重復值
5.2、使用where來選取指定的數據
?1)常見的where運算符
2)利用and 和 or運算符
3)利用like運算符
4)利用in運算符
?5)利用between運算符
6)order by運算符
6、更新字段update
?7、刪除記錄delete
?8、index索引用法
9、view視圖
?10、NULL值
?11、字段名、表名的別名
?11、join連接
12、子查詢
? 13、常用的統計函數(count、min、max、sum、avg等)
13.1、count——統計指定的字段不為null的記錄總數
?13.2、max\min函數——統計所選字段的最大\小值
?13.3、avg——求字段值的平均值
?13.4、sum——對所選字段的記錄進行求和
?14、group by分組函數(按照給定的字段進行不同的分組)
?15、having 過濾分組
?16、課后測試
視頻學習鏈接:
從零開始38分鐘學會SQL語言_嗶哩嗶哩_bilibili這個課程是面向零基礎的學員,使用38分鐘的時間學習了76條經典SQL語句,掌握了SQL語言的基礎知識,馬上就可以做數據分析了。所有SQL語句均可不加修改地運行在MySQL、Oracle、SQL Server和PostgreSQL等4種數據庫上https://www.bilibili.com/video/BV1634y1R77q?from=search&seid=11764788465467756900&spm_id_from=333.337.0.0
前提:下載好mysql數據庫,以及配置好mysql環境變量
可參考:【Python項目實戰】Python+MySQL開發新聞管理系統全集_嗶哩嗶哩_bilibili 前幾集
0、創建數據庫
create database 數據庫名;
create database DMS;
注:sql語句不區分大小寫
show databases; # 顯示所有的數據庫
1、調用指定的數據庫
use dms;
use 數據庫名;
2、創建數據表
create table 數據表名(字段名 字段數據類型 字段長度 其他)
注:分號表示一句完整的SQL的結束
2.1、SQL數據類型
參考:sql數據庫常用的幾種數據類型 - 小小黑- - 博客園
1).字符型數據:
char\varchar\text
這幾種數據類型都是用來裝字符串的
char???????? 固定長度存儲數據(255字節)
varcahr??? 按變長存儲數據
text????????? 當你需要存儲非常大量的字符串時使用
nchar、nvarchar、ntext
這幾個也是存儲字符串的,與上面的對應相同。唯一不同的是這三種類型,是采用Unicode編碼,當你做國際化的網站時使用
2).日期時間型數據
datetime、smalldatetime
都是用于存儲日期和時間信息
datetime:???????? 存放1/1/1753-12/31/9999的時間數據,精確到0.001s
smalldatetime: 存放1/1/1900-6/6/2079的時間,精確到秒
data:??????????????????
3).整數型數據
用于存放整數
bigint、int、smallint、tinyint
bigint 從 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型數據(所有數字)。
int 從 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型數據(所有數字)。
smallint 從 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整數數據。
tinyint 從 0 到 255 的整數數據。
4).精確小數型數據
用于存放小數
decimal、numeric
NUMERIC:型整數部分最大只能有28位,范圍為-10^38到10^38之間的數,小數部分的位數必須小于或等于整數部分的位數,小數部分可以是零,定義語法NUNERIC(3,2),表示總位數為3,小數位數為2,如3.14。
5).近似數值類型
用于存放近似數
float、real
6).貨幣型數據
用于存放貨幣數據
money、smallmoney
在輸入貨幣型數據時要在其前加貨幣符號,若為負值,則在貨幣符號后加符號
7).位類型數據
bit
這個剛學不好理解,我給你打個比方吧。比如你的表中有一列放性別,性別只有兩種可能性,不是男就是女。這時你就可以把性別這列的數據類型設為bit。凡是與之類似的情況都可以用bit類型數據。
2.2 實例創建表
?create table dept(
??? deptno int primary key,
??? dname varchar(10),
??? loc varchar(10));
?
create table employees(
??? empno int primary key,
??? name char(10) not null,
???? deptno int,
??? manager int,
??? hiredate date,
??? salary numeric(7,2));
?
create table manager(
???? empno int primary key,
??? itle varchar(16));
?
?3、向表中插入
?show tables; # 顯示所有的數據表名
?insert dept values(1,"技術部","一樓A區");
insert dept values(2,"銷售部","二樓A區");
insert dept values(3,"行政部","一樓B區");
??insert employees values(1,"張三",1,2,'2011--03-02',4400.00);
?insert manager values(2,'技術部經理');
insert manager values(4,'銷售部經理');
insert manager values(5,'行政部經理');
insert manager values(99,'總裁');
4、主鍵primary key
聯合主鍵:用2個或2個以上的字段組成主鍵。用這個主鍵包含的字段作為主鍵,這個組合在數據表中是唯一,且加了主鍵索引。
例:
create table grade(?
stuNum char(10) not null,
courseNum ?char(10) ?not null,
grade ?int ?not null,
primary key ?(stuNum,courseNum))字段 stuNum和courseNum就是聯合主鍵。
?
?總結:
主鍵是唯一的;
主鍵可以由多個字段組成;
在同一個表中,主鍵不可以重復;
修改、插入主鍵操作不可違反“主鍵唯一無重復”這個約束
5、查詢字段
?
5.1、使用distinct 去除重復值
?
5.2、使用where來選取指定的數據
?1)常見的where運算符
?
2)利用and 和 or運算符
?
3)利用like運算符
指定模式一般為字符串,然后缺省的部分用百分號代替,例如姓劉的,“劉%”
?
4)利用in運算符
等同于:
select 字段名 from 表名 where 字段名 = 值1 or 字段名 = 值2 or ...;
除了使用in,也可以使用not in
?
以下方式可以通過多個表的信息來獲取指定條件的數據
?5)利用between運算符
?
6)order by運算符
?
6、更新字段update
?
?7、刪除記錄delete
?
?8、index索引用法
9、view視圖
?
?10、NULL值
?11、字段名、表名的別名
?
?支持中文,使得表更具有可讀性
?11、join連接
?
內連接:
?左連接
12、子查詢
13、常用的統計函數(count、min、max、sum、avg等)
13.1、count——統計指定的字段不為null的記錄總數
?
?13.2、max\min函數——統計所選字段的最大\小值
?
?
?13.3、avg——求字段值的平均值
?13.4、sum——對所選字段的記錄進行求和
?
?14、group by分組函數(按照給定的字段進行不同的分組)
group by其實就是先按照group by后面的字段進行分組,然后對每一組利用統計函數進行求解,最后返回每一組的結果,含不同的字段
?
?
?
?15、having 過濾分組
?補充:having和group by結合使用,首先是根據group by進行分組得到不同分組的統計值,然后再過濾掉不符合having條件的分組。
?16、課后測試
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?