復(fù)習(xí)數(shù)據(jù)庫(kù)MySQL語(yǔ)句(一)

創(chuàng)建表語(yǔ)句

CREATE TABLE person (id int PRIMARY KEY auto_increment,name VARCHAR(10) NOT NULL,age int  NOT NULL);
(XN1UVSN9C%WTFVC)1X@1E3.png

插入語(yǔ)句

INSERT INTO person(name,age) VALUES ('tom',20);
#如果id未定義auto_increment,則需要為id填值

多值插入語(yǔ)句

 INSERT INTO person(name,age) VALUES ('lucy',18),('lili',18),('xiaoming',13);  

查詢(xún)語(yǔ)句

SELECT * FROM person;

查詢(xún)條件語(yǔ)句

SELECT * FROM person WHERE id>=3;

查詢(xún)包含語(yǔ)句

SELECT * FROM person WHERE name LIKE "l%";              首字母是l
SELECT * FROM person WHERE name LIKE "%l";              尾字母是l
SELECT * FROM person WHERE name LIKE "%l%";             單詞中包含l

范圍查詢(xún)語(yǔ)句

#年齡在13和20之間且包含13和20
SELECT * FROM person WHERE age BETWEEN 13 AND 20;       

過(guò)濾查詢(xún)

 SELECT DISTINCT name FROM person;            返回不重復(fù)的姓名

更新語(yǔ)句/修改語(yǔ)句

UPDATE person set name='tomplus' WHERE id=2; 

刪除語(yǔ)句

DELETE FROM person WHERE id=2;

多條件語(yǔ)句

SELECT * FROM person WHERE name LIKE 'l%' AND age>13;

范圍查詢(xún)

SELECT * FROM person LIMIT 3;           限制數(shù)量     輸出表的前3條數(shù)據(jù)
SELECT * FROM person LIMIT 3 OFFSET 2;       輸出前兩條數(shù)據(jù)后的三條數(shù)據(jù)

范圍查詢(xún)

SELECT * FROM person WHERE age IN (15,18);       符合()內(nèi)某一個(gè)元素的輸出
SELECT * FROM person WHERE age=15 or age=18;             與上一句等作用

顯示表的詳細(xì)信息

DESC person;

創(chuàng)建唯一索引

創(chuàng)建dog表的name字段為唯一索引,索引名(自定義) name_unique
CREATE UNIQUE INDEX name_unique ON dog(name);      

多表查詢(xún)

#二表查詢(xún)
SELECT * FROM stu,grade WHERE stu.grade_id=grade.id;
SELECT stu.name,stu.score,grade.name,grade.type FROM stu,grade WHERE stu.grade_id=grade.id;
SELECT stu.name AS 學(xué)生名字,stu.score,grade.name AS 班級(jí),grade.type FROM stu,grade WHERE stu.grade_id=grade.id;
#三表查詢(xún)
select e.deptno,e.ename,e.sal,e.empno,d.deptno,s.* from emp as e right join dept as d on e.deptno=d.deptno inner join salgrade as s on e.sal BETWEEN LOSAL AND HISAL
select username,psw,gname,tel from (t1 left join t2 on t1.t1_id=t2.t1_id) left join t3 on t1.t1_id=t3.t1_id

內(nèi)連接

inner join 只返回符合條件的行
Select A.name,B.name from A inner join B on A.id=B.id
Select A.name,B.name from A join B on A.id=B.id
結(jié)果是一樣的(內(nèi)連接的inner關(guān)鍵字可省略);

外連接(左右查詢(xún) )

 左連接   
# 返回包括左表中的所有記錄和右表中聯(lián)結(jié)字段相等的記錄
# LEFT JOIN 關(guān)鍵字會(huì)從左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中沒(méi)有匹配的行。
# 左連接A、B表結(jié)果包括A的全部記錄和符合條件的B的記錄  
SELECT * FROM stu LEFT JOIN grade ON stu.grade_id=grade.id;
右連接
#反之
SELECT * FROM stu RIGHT JOIN grade ON stu.grade_id=grade.id;
# 也就是說(shuō) 左聯(lián)結(jié)B、A的結(jié)果和右聯(lián)結(jié)A、B表的結(jié)果是一樣的

能夠增加普通索引和UNIQUE索引兩種。其格式如下:

create index index_name on table_name (column_list) ;
create unique index index_name on table_name (column_list) ;

sql語(yǔ)句方法

AVG()                        平均值
COUNT()                      計(jì)算數(shù)量
MAX()                        最大值
MIN()                        最小值
SUM()                        求和

Group By                     通過(guò)某一項(xiàng)分組
Having                       where的彌補(bǔ),使條件語(yǔ)句可以變得動(dòng)態(tài)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容