定義:數據庫就是一個文件系統,通過sql語句來獲取數據
關系型數據庫:關系型數據庫存放的是實體時間的關系,在數據庫層面來看就是存放的是表和表之間的關聯關系
常見的關系型數據庫 MySQL DB2 sqlserver oracle sybase
一台數據庫服務器中會創建很多數據庫(一個項目,會創建一個數據庫)。
在數據庫中會創建很多張表(一個實體會創建一個表)。
在表中會有很多記錄(一個對象的實例會添加一條新的記錄)
表和表時間會有一些約束
主鍵約束:primary key 主鍵約束默認就是唯一 非空的()auto-increment實現自增長
唯一約束:unique
非空約束:not null
SQL數據庫的結構化查詢語句
DDL 數據定義語言 create(創建)/drop(放棄)/alert(改變)
DML 數據操縱語音 insert(插入)/update(更新)/delete(刪除)
DCL 數據控制語言 grant/if
DQL 數據查詢語言 select(查看)
數據庫的增刪改查
show dataabases 展示所有的數據庫
create database 數據庫名 [character 字符集 collate 校對規則] 創建新的數據庫
use 數據庫名稱 某一個數據庫
drop database 數據庫名 刪除數據庫
select database() 查看正在使用的數據庫
show create database 數據庫名稱 查看指定的數據庫
alert database chatater set 字符集 collate 校對規則
表的增刪改查
創建表:create tabe 表名 {
字段名稱 字段類型(長度) 約束,
字段名稱 字段類型(長度) 約束,
}
添加字段:Altle table 表名 add 字段名 類型(長度) 約束
修改列:altle table 表名 modify 列名 類型 (長度) 約束
刪除字段:altle table 表名 drop 字段名
修改字段:altle table 表名 change 舊字段名 新字段名 類型(長度) 約束
查看建表結構:desc 表名;
查看所有的表字段:show tables;
查看建表語句 show create table 表名
刪除表 drop table表名
修改表名:rename table 表名 to 新表名
修改表的字符集:altle table 表名 character set 字符集(默認的是utf8 的)
建表常見的約束
主鍵約束:primary key 一般實現自增 auto-increment
非空約束:notnull
唯一約束:unique
當數據表中有自增長主鍵時,當用SQL插入語句中插入語句帶有ID列值記錄的時候;
如果指定了該列的值,則新插入的值不能和已有的值重復,而且必須大於其中最大的一個值;
也可以不指定該列的值,只將其他列的值插入,讓ID還是按照MySQL自增自己填;
這種情況在進行插入的時候,兩種解決方法:
①可以把id的值設置為null或者0,這樣子mysql都會
自己做處理
②手動指定需要插入的列,不插入這一個字段的數據!
