mysql新手入門隨筆2

韋大仙發表於2018-03-28

17、建立表

CREATE TABLE tbname(columnname1 型別 約束條件, columnname2 型別 約束條件,…);

三大型別:數值型,時間日期型,字串型別

六大約束條件:

PRIMARY KEY(主鍵)        NOT NULL(非空)              AUTO_INCREMENT(自增長)

UNIQUE(值唯一)               FOREIGN KEY(外來鍵)         DEFAULT(預設值)

 

例如:CREATE TABLE student(id tinyint unsigned auto_increment primary key,sname varchar(10)

not null,sex enum(``,``,`保密`) default `保密`,age tinyint unsigned not null,tel char(11) unique);

18、展示表結構

SHOW COLUMNS FROM tbname;

 

19、展示當前資料庫中的所有表

SHOW TABLES;

 

20、往表中插入/新增資料

往指定列一一對應插入/新增資料

INSERT INTO tbname(colname1,colname2,…) VALUES(values1,values2,…);

如果省略列欄位,表示往表中所有列都插入值

INSERT INTO tbname VALUES(values1,values2,…),(values1,values2,…);

 

21、檢視錶中的資料

檢視錶中所有列的資料,*號表示所有列

SELECT * FROM tbname;

檢視指定列的資料

SELECT colname1,colname2,… FROM tbname;

 

#複製表

CREATE TABLE tbname1 AS SELECT * FROM tbname2;

Day2

22、刪除表中的資料

沒有WHERE條件語句,會刪除表中的所有資料

DELETE FROM tbname;

如果要刪除某條資料,需要新增WHERE 條件語句

DELETE FROM tbname WHERE empno = ‘E00001’;

注意:DELETE刪除資料,邏輯刪除,不釋放空間

 

23、刪除表中的所有資料,沒有WEHRE條件語句,物理刪除,會釋放空間

TRUNCATE TABLE tbname;

注意:TRUNCATE不能刪除有外來鍵關聯的表中資料,只能用DELETE刪除

 

24、更新/修改表中的資料

沒有WHERE條件語句,會更新指定列的所有的資料

UPDATE tbname SET colunm1=’新的值;

如果要更新某條資料,需要新增WHERE條件語句

UPDATE tbname SET colunm1=’新的值 WHERE 條件語句;

#思考:同時更新兩列的資料

UPDATE emp SET comm = 8888,sal = 9999 WHERE empno = `E00005`;

 

25、刪除表

DROP TABLE tbname;

 

26、查詢指定列的資料

SELECT 3*5;

SELECT column1,column2,… FROM tbname WHERE 條件語句;

SELECT * FROM tbname WHERE 條件語句;

條件語句裡支援

數學結果運算子(=,<,>,>=,<=,!=,<>,is null,is not null)

模式匹配(like,not like,in,not in)

like用法:%代表0個或多個任意字元,_代表一個任意字元

例如:SELECT * FROM emp WHERE job like `戰士__`;

in用法:job in (`法師`,`坦克`),其中值之間是或的關係

邏輯運算子(and,or)

and:且的意思,表示同時滿足

or:或的意思,表示滿足其中一個條件即可

例如:SELECT * FROM emp WHERE job =`坦克` or deptno = `F01`;

 

27、聚合函式

max() 最大值:SELECT max(sal) FROM emp;

min() 最小值

avg() 平均值

sum() 求和

count() 計數,統計

內建函式

lcase() 把字串中大寫字母全部轉換成小寫字母

ucase() 把字串中小寫字母全部轉換成大寫字母

round(x,y) 四捨五入:x代表要四捨五入的值,y代表精度

例如:SELECT round(avg(sal),2) FROM emp;

注意:WHERE條件語句裡不能直接出現聚合函式②聚合函式不能巢狀聚合函式

相關文章