1. MySQL簡介
MySQL是廣泛應用的一種關系型數據庫
1.1 三范式
第一范式(1NF):列不可拆分
第二范式(2NF):唯一標識
第三范式(3NF):引用主鍵
后一個范式,都是在前一個范式的基礎上建立的
1.2 數據的完整性
一個數據庫就是一個完整的業務單元,可以包含多張表,數據被存儲在表中
在表中為了更加準確的存儲數據,保證數據的正確有效,可以在創建表的時候,為表添加一些強制性的驗證,包括數據字段的類型、約束
1.2.1字段類型
數字:int,decimal
int:整數型 4字節 一般不用指定長度
decimal:小數值
decimal(5,2) #整數位最多三位,小數位最多2位
字符串:char,varchar,text
char(10): 10個字符長度,用不完也是10個長度
varchar(10):10個字符長度,用多少是多少長度
char因為是定長,所以查詢效率高,但是相對浪費空間
varchar因為是變長,所以節省空間,但是相對查詢效率低
日期 datetime,date,time
datetime:年月日時分秒
date:年月日
time:時分秒
布爾:bit(只有0和1)
1.2.2約束
主鍵 primary key 具有唯一性
非空 not null
唯一 unique
默認 defalt
外鍵 foreign key
2. 數據庫與 表的操作(以下操作均為腳本命令操作)
登錄
mysql-uroot -p#登錄本地數據庫mysql -hip -uname -ppassword#登錄遠程數據庫 要知道對方的ip 用戶名和密碼
退出
exit#退出系統
2.1數據庫操作
創建數據庫
createdatabases 數據庫名 charset=utf8;#如果安裝數據庫的時候選擇了編碼格式,這就不用再寫了
刪除數據庫
dropdatabase數據庫名;
切換當前數據庫
use數據庫名;
查看當前數據庫
selectdatabase();
2.2表操作
創建表
createtable名字(? ? 列名 類型 約束,? ? 列名 類型 約束);
修改表
altertable表名add|modify|drop列名 類型;
刪除表
droptable表名;
查看表結構
desc 表名;
更改表名稱
renametable原表名to新表名;
查看標的創建語句
showcreatetable'表名';
3.數據的增加、修改、刪除
增加
增加完整的一條信息
insertinto表名values(每一列的值);
缺省插入
insert into 表名(列1,列2...)values(值1,值2...);
同時插入多條數據
insertinto表名 values(...),(...)...;或insertinto表名(列1,...) values(值1,...),(值1,...)...;
刪除
deletefrom表名where條件
修改
update 表名set列1=值1,...where條件
4. 數據的查詢
查詢表里的所有信息
select*from表名
*的位置可以列名,表示查找這一列,也可以寫條件