17、創建表 CREATE TABLE tbname(columnname1 類型 約束條件, columnname2 類型 約束條件,…); 三大類型:數值型,時間日期型,字元串類型 六大約束條件: PRIMARY KEY(主鍵) NOT NULL(非空) AUTO_INCREMENT(自增長) ...
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條件語句里不能直接出現聚合函數②聚合函數不能嵌套聚合函數