1. 程式人生 > >java學習之路——第四十一天

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;