MySQL中的SQL標(biāo)準(zhǔn)語句詳解
前言
例如MySQL中的LIMIT語句就是MySQL獨有的方言,其它數(shù)據(jù)庫都不支持!當(dāng)然,Oracle或SQL Server都有自己的方言。
語法要求:
- SQL語句可以單行或多行書寫,以分號結(jié)尾;
- 可以用空格和縮進來來增強語句的可讀性;
- 關(guān)鍵字不區(qū)別大小寫,建議使用大寫;
對數(shù)據(jù)庫的操作
#語法: CREATE DATABASE [IF NOT EXISTS] 數(shù)據(jù)庫名 [DEFAULT CHARACTER SET 字符集 COLLATE 排序規(guī)則字符集]; #創(chuàng)建數(shù)據(jù)庫: CREATE DATABASE [IF NOT EXISTS] mydb1;
如果不加 IF NOT EXISTS 的話,如果數(shù)據(jù)庫存在的話,會報錯。字符集一般使用UTF8mb4,排序規(guī)則一般使用utf8mb4_bin
對表的操作
對表的操作相對于對數(shù)據(jù)庫操作更多且更加頻繁
表的創(chuàng)建
語法:
CREATE TABLE 表名(
列名 列類型,
列名 列類型,
......
);
如果創(chuàng)建的表存在則會報錯
例子
CREATE TABLE emp ( eid CHAR(6) COMMENT '編號', ename VARCHAR (50) COMMENT '姓名', age INT COMMENT '年齡', gender VARCHAR (6) COMMENT '性別', birthday DATE COMMENT '出生日期', hiredate DATE COMMENT '入職日期', salary DECIMAL (7, 2) COMMENT '薪水', RESUME VARCHAR (1000) COMMENT '簡介' ) COMMENT '員工表' ;
COMMENT代表解釋說明,注意最后一列在定義的時候后面的逗號不要加。
如果不定義字符集編碼與排序規(guī)則的話,默認(rèn)是和數(shù)據(jù)庫的字符集編碼與排序規(guī)則一致。
表的其他操作
--查看當(dāng)前數(shù)據(jù)庫中所有表名稱: SHOW TABLES; --查看指定表的創(chuàng)建語句: 查看emp表的創(chuàng)建語句; --查看表結(jié)構(gòu): DESC emp; --查看emp表結(jié)構(gòu); --刪除表: DROP TABLE emp; --刪除emp表; --修改表: --1. 修改之添加列:給stu表添加classname列: ALTER TABLE stu ADD (classname varchar(100)); --2. 修改之修改列類型:修改stu表的gender列類型為CHAR(2): ALTER TABLE stu MODIFY gender CHAR(2); --3. 修改之修改列名:修改stu表的gender列名為sex: ALTER TABLE stu change gender sex CHAR(2); --4. 修改之刪除列:刪除stu表的classname列: ALTER TABLE stu DROP classname; --5. 修改之修改表名稱:修改stu表名稱為student: ALTER TABLE stu RENAME TO student;
表的插入
語法
INSERT INTO 表名(列名1,列名2, …) VALUES(值1, 值2) #例子 INSERT INTO stu VALUES('s_1002', 'liSi', 32, 'female');
同時也可以插入多條
INSERT INTO 表名(列名1,列名2, …) VALUES(值1, 值2....), VALUES(值1, 值2....).....
列名要與值一一對應(yīng),如果全部都插入可以省略表名,比如上面舉的例子
表的修改
語法:
UPDATE 表名 SET 列名1=值1, … 列名n=值n [WHERE 條件] #例子 UPDATE stu SET sname='zhangSanSan', age='32', gender='female' WHERE sid='s_1001';
如果不添加where條件的話,會導(dǎo)致全表修改,所以在使用的時候注意了。
表的刪除
語法:
DELETE FROM 表名 [WHERE 條件] #例子 DELETE FROM stu WHERE sid='s_1001';
如果不加 WHERE 條件的話,會全表的數(shù)據(jù)全部刪除,所以要謹(jǐn)慎使用。
表的查詢
#查詢表的所有信息 SELECT * FROM stu; #查詢指定列 SELECT 字段1, 字段2, 字段3 ... FROM 表名 ;
條件查詢
條件查詢就是在查詢時給出WHERE子句,在WHERE子句中可以使用如下運算符及關(guān)鍵字:
- =、!=、<>(不等于)、<、<=、>、>=
- BETWEEN…AND
- IN(set)
- IS NULL
- AND
- OR
- NOT
邏輯運算符:
邏輯運算符
AND 或 && 并且 (多個條件同時成立)
OR 或 || 或者 (多個條件任意一個成立)
NOT 或 ! 非 , 不是
#例子 SELECT * FROM stu WHERE gender = 'female' AND ge < 50 ;
到此這篇關(guān)于MySQL中的SQL標(biāo)準(zhǔn)語句詳解的文章就介紹到這了,更多相關(guān)MySQL SQL語句內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL用戶權(quán)限設(shè)置保護數(shù)據(jù)庫安全
MySQL用戶權(quán)限設(shè)置是保護數(shù)據(jù)庫安全的重要措施之一。通過為用戶設(shè)置不同的權(quán)限,可以控制用戶對數(shù)據(jù)庫的訪問能力,包括讀取、修改、刪除、創(chuàng)建等操作。合理設(shè)置用戶權(quán)限可以避免誤操作、非法訪問等安全問題2023-05-05MySQL系統(tǒng)庫之performance_schema的實現(xiàn)
performance_schema用于收集和存儲關(guān)于數(shù)據(jù)庫性能和資源利用情況的信息,本文主要介紹了MySQL系統(tǒng)庫之performance_schema的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2023-11-11MySQL使用IF語句及用case語句對條件并結(jié)果進行判斷?
這篇文章主要介紹了MySQL使用IF語句及用case語句對條件并結(jié)果進行判斷,文章通過圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-09-09MYSQL 完全備份、主從復(fù)制、級聯(lián)復(fù)制、半同步小結(jié)
這篇文章主要介紹了MYSQL 完全備份、主從復(fù)制、級聯(lián)復(fù)制、半同步小結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-05-05解決MySQL遇到錯誤:1217 - Cannot delete or 
這篇文章主要介紹了解決MySQL遇到錯誤:1217 - Cannot delete or update a parent row: a foreign key constraint fails問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06