MySql整理(粗略)
阿新 • • 發佈:2020-11-18
資料庫的作用:
統合整理方便資料的儲存,大大提高資料的操作效率.
而sql就是操作資料庫的語法
資料庫常用的型別對應java
注意:
整型 一般不指定範圍
- 小數型: 貨幣優先選用BECIMAL
- 字元型別:
char(size)是定長字元,若超過會擷取並警告
varchar(size)是變長字元,非嚴格模式(非嚴格MySQL自身就不會對資料進行嚴格的校驗(格式、長度、型別等))會擷取並警告 - 日期型別: mysql日期時間使用單引號引起來
資料庫操作
DDL表的操作
CREATE TABLE product (
id bigint NOT NULL AUTO_INCREMENT,主鍵自動遞增
productName varchar(50) DEFAULT NULL,預設為空
dir_id bigint DEFAULT NULL,
salePrice double(10,2) DEFAULT NULL,
supplier varchar(50) DEFAULT NULL,
brand varchar(50) DEFAULT NULL,
cutoff double(2,2) DEFAULT NULL,
costPrice double(10,2) DEFAULT NULL,
PRIMARY KEY (id)
設定主鍵);
大體上就是這些吧
- NOT NULL 非空
- DEFAULT 設定預設值
- UNIQUE 唯一約束
- PRIMARY KEY 主鍵約束,非空且唯一
- AUTO_INCREMENT 主鍵自增長, 從1開始
- FOREIGN KEY 外來鍵約束,A參照B某一列
DML(插入,修改,刪除)操作
插入
INSERT INTO 表名(列名1,列名2,.....) values(列名1,列名2,.....)
修改
UPDATA 表名 set column1=values1,column3=values3,column2=values2 WHERE [條件]
刪除
DELETE FROM 表名 where [條件]
DQL查詢操作
SELECT * FROM 表名 [WHERE]
推薦使用這種,根據需求查詢自己需要的列,可以減少對資料庫的效能損耗(反正好像時間上操作是少了:)
SELECT 列名1,列名2,..... from 表名 [where]
這樣就完成了基本介紹了一下sql
那麼下面說一下
第一正規化
關係模式基本要求,一個列不能有多個值
每個列的都是不可分割的基本資料
第二正規化
通過主鍵加快查詢,唯一區分
第三正規化
不包含已在其他表中已包含的非主鍵欄位
(不一定,假設你是經常使用,且不經常修改,可以在其他表中以包含的非主鍵欄位)