1. 程式人生 > 實用技巧 >MySql整理(粗略)

MySql整理(粗略)

資料庫的作用:
統合整理方便資料的儲存,大大提高資料的操作效率.
而sql就是操作資料庫的語法

資料庫常用的型別對應java

注意:
整型 一般不指定範圍

  1. 小數型: 貨幣優先選用BECIMAL
  2. 字元型別:
    char(size)是定長字元,若超過會擷取並警告
    varchar(size)是變長字元,非嚴格模式(非嚴格MySQL自身就不會對資料進行嚴格的校驗(格式、長度、型別等))會擷取並警告
  3. 日期型別: 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
那麼下面說一下
第一正規化
關係模式基本要求,一個列不能有多個值

每個列的都是不可分割的基本資料

第二正規化
通過主鍵加快查詢,唯一區分

第三正規化
不包含已在其他表中已包含的非主鍵欄位

(不一定,假設你是經常使用,且不經常修改,可以在其他表中以包含的非主鍵欄位)