數(shù)據(jù)庫基礎
1.數(shù)據(jù)庫認識
1.什么是數(shù)據(jù)庫
數(shù)據(jù)庫:是由一批數(shù)據(jù)構成的有序的集合咆耿,這個集合通常被保存為一個或多個文件中。
數(shù)據(jù)庫:(DataBase) 有一個或者多個數(shù)據(jù)表(Table)組成,數(shù)據(jù)表是有多個字段(數(shù)據(jù)表中的各個數(shù)據(jù)的鍵)構成故硅。
2.數(shù)據(jù)庫類型
(1).關系型數(shù)據(jù)庫
關系型數(shù)據(jù)庫庶灿,是指采用了關系模型來組織數(shù)據(jù)的數(shù)據(jù)庫,其以行和列的形式存儲數(shù)據(jù)契吉,以便于用戶理解跳仿,關系型數(shù)據(jù)庫這一系列的行和列被稱為表诡渴,一組表組成了數(shù)據(jù)庫捐晶。
關系型數(shù)據(jù)庫:MySQL,Oracle,SQL Server, DB2
(2).非關系型數(shù)據(jù)庫(NoSQL)
NoSQL,泛指非關系型的數(shù)據(jù)庫,例如:MongoDB
SQL語句
1.使用SQL語句插入數(shù)據(jù)
在SQL語句的編輯區(qū)域妄辩,我們使用insert語句向數(shù)據(jù)表當中插入數(shù)據(jù)惑灵。然后呢,點擊執(zhí)行按鈕向數(shù)據(jù)庫表當中插入一條數(shù)據(jù)眼耀。
1.1. INSERT INTO 'TABLENAME' VALUES(null|id,value1,vaulu2)
如果id為自增字段英支,必須將id字段以''||null 占位,這種方式values 字段值 必須按照數(shù)據(jù)庫表中字段的順序插入。
INSERT INTO users VALUES(NULL,'HUSKYUNCLE','123456','18682212158');
1.2. INSERT INTO 'TABLENAME' (KEY2,KEY1,KEY3...) VALUES(VALUE2,VALUE1,VALUE3...)
這種方式 (key) values (value) 哮伟,key不一定按照原有數(shù)據(jù)表中的順序來展示(不一定寫所有的字段)干花,values根據(jù)key的順序排列
INSERT INTO users (`password`,`username`,`phonenum`) VALUES('234567','abc','15332223467')
2.使用SQL語句修改數(shù)據(jù)
UPDATE TABLENAME SET 字段1='字段1值' WHERE 條件語句(WHERE 子句)
UPDATE users SET username='aaaa' WHERE id=3
-- UPDATE `users` SET `id`=[value-1],`username`=[value-2],`password`=[value-3],`phonenum`=[value-4] WHERE 1
3.刪除數(shù)據(jù)
DELETE FROM TABLENAME WHERE 子句
DELETE FROM `users` WHERE USERNAME='123123'
4.查詢數(shù)據(jù)
4.1. SELECT * FROM TABLENAME
(查詢表中所有數(shù)據(jù),多個表的話楞黄,可以以逗號隔開表名)
4.2. SELECT column_name,column_name,... FROM TABLENAME
(查詢表指定字段的數(shù)據(jù)池凄,多個表的話,可以以逗號隔開表名鬼廓,按照 tablename.column_1的形式查詢指定表的指定字段的數(shù)據(jù))
SELECT name,price FROM `tab_goods`
- 查詢語句中可以使用一個或者多個 表肿仑,表之間使用逗號(,)分割,并使用where語句設定查詢的條件
- SELECT 語句可以讀取一條或者多條記錄
- 你可以使用星號(*)來代替其他字段,SELECT 語句會返回表的所有字段數(shù)據(jù)
- 如果查詢多張表數(shù)據(jù)尤慰,查詢對應字段時馏锡,按照 tablename.column_1的形式查詢指定表的指定字段的數(shù)據(jù)。
4.3. 給表重命名
使用"as"命令給表臨時重命名伟端,也可以不加"as"
SELECT * FROM `TABNAME1` as `a`,`TABLENAME2` as `b`
--重命名后可以根據(jù)重命名的表名稱 調用對應字段杯道。
-- 使用as
SELECT `a`.`id`,`a`.`name`,`a`.`price`,`b`.`username`,`b`.`password` FROM `tab_goods` as `a`,`users` as `b`
-- 不使用as
SELECT `a`.`id`,`a`.`name`,`a`.`price`,`b`.`username`,`b`.`password` FROM `tab_goods` `a`,`users` `b
5.WHERE子句
如果需要有條件的從表中選取數(shù)據(jù),可以將WEHRE子句添加至SELECT,UPDATE,DELETE語句中责蝠。
1.查詢語句中可以使用一個或者多個表蕉饼,表之間使用逗號(,)分割,并使用where語句設定查詢的條件
2.你可以在WHERE子句中指定任何條件玛歌。
3.使用AND 或者OR指定一個或多個條件昧港。
4.有多個操作符,可以適用于WHERE子句中
操作符 | 描述 |
---|---|
= | 等號支子,檢測兩個值是否相等创肥,如果相等則返回true |
<>,!= | 不等于,檢測兩個值是否相等值朋,如果不相等則返回true |
> | 大于號 |
< | 小于號 |
>= | 大于等于 |
<= | 小于等于 |
// 等于 and(并且)
SELECT * FROM `tab_goods` WHERE id=4;
SELECT * FROM `tab_goods` WHERE `name`='iphone7' AND `price`=7 AND `count`<100
//< > <= >= !=
// 或者
SELECT * FROM `tab_goods` WHERE `name`='iphone7' OR `count`<100
BINARY關鍵字
使用BINARY關鍵字來設定WHERE子句的字符串區(qū)分大小寫叹侄。
SELECT * FROM `tab_goods` WHERE BINARY `name`='iphone'