java學習之路——第四十一天
MySQL03
資料庫中常見的資料型別:
int:整數型別,預設長度為11
double: 浮點型別,書寫方法為(5,2)表示有5位陣列成,其中小數位後面保留兩位數,最大值為999.99
decimal: 書寫方法為(5,2)表示有5位陣列成,其中小數位後面保留兩位數,定義跟金錢有關的變數。
char: 固定長度的字串型別
varchar: 變長的字串型別
char 和 varchar 之間的區別:
char宣告欄位開闢的儲存空間用不完不會釋放(查詢效率高),而varchar宣告的欄位儲存空間用不完會釋放出去(查詢效率低)
text : 字串型別
date: 日期型別 格式:yyyy-MM-dd
time:時間型別 格式:hh:mm:ss
DML:資料操作語言
插入語句:
第一種:
insert into 表名 values(值1,值2,…..)
備註:值的順序必須和表中宣告欄位的一致,且所有欄位都要有
第二種:
insert into 表名(欄位名1,欄位名2) values(值1,值2)
備註:欄位要與值對應,未寫入的值以null代替
修改語句:
語法:update 表名 set 欄位名=新的欄位名;
備註:上面這種寫法會將表中所有的記錄中的欄位名的值都修改為新的值,為了避免這種情況,往往在後面加上相應的條件,用關鍵字where表示。
刪除語句:
第一種:
delete from 表名 where 條件
第二種:
truncate table 表名
區別:第二種刪除方式為先將表刪除,然後再建立表
DCL:資料控制語言
建立使用者:create user 使用者名稱@localhost identified by ‘密碼’;
給使用者授權:grant 許可權1………on 資料庫.*(表名) to 使用者名稱@localhost:
撤銷授權:revoke 許可權1……..on 資料庫名.* from 使用者名稱
檢視使用者授權:show grants for 使用者名稱
刪除使用者:drop user 使用者名稱
修改使用者密碼:
use mysql;
update user set password=password(‘新密碼’) where user=’使用者名稱’ and host=’地址’
flush privileges
DQL: 資料查詢語言
#基礎查詢操作
-- 查詢stu中的所有列
SELECT * FROM stu;
-- 查詢指定列
SELECT sname,sid FROM stu;
#條件查詢 where
-- 根據一定條件查詢出結果,常常和一些運算子和關鍵字一起使用
-- 運算子:> < = <> != >= <=
-- 關鍵字:between and 前包括後也包括
-- is null not and or in
-- 查詢性別為女,並且年齡大於50的記錄
SELECT * FROM stu WHERE gender='female' AND age>50;
-- 查詢學號為s_1001,或者姓名為lisi的記錄
SELECT * FROM stu WHERE sid='s_1001' OR sname='lisi';
-- 查詢學號為s_1001,s_1002,s_1003的記錄
SELECT * FROM stu WHERE sid IN ('s_1001','s_1002','s_1003');
SELECT * FROM stu WHERE sid='s_1001' OR sid='s_1002' OR sid='s_1003';
-- 查詢學號不是s_1001,s_1002,s_1003的記錄
SELECT * FROM stu WHERE sid NOT IN ('s_1001','s_1002','s_1003');
-- 查詢年齡為null的記錄
SELECT * FROM stu WHERE age IS NULL;
-- 查詢年齡在20到40之間的學生記錄
SELECT * FROM stu WHERE age BETWEEN 20 AND 40;
SELECT * FROM stu WHERE age>=20 AND age<=40;
-- 查詢性別非男的學生記錄
SELECT * FROM stu WHERE NOT gender='male';
-- 查詢姓名不為null的學生記錄
SELECT * FROM stu WHERE sname IS NOT NULL;