MySQL中的SQL標準語句詳解
前言
例如MySQL中的LIMIT語句就是MySQL獨有的方言,其它數(shù)據(jù)庫都不支持!當然,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ī)則的話,默認是和數(shù)據(jù)庫的字符集編碼與排序規(guī)則一致。
表的其他操作
--查看當前數(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....).....
列名要與值一一對應,如果全部都插入可以省略表名,比如上面舉的例子
表的修改
語法:
UPDATE 表名 SET 列名1=值1, … 列名n=值n [WHERE 條件] #例子 UPDATE stu SET sname='zhangSanSan', age='32', gender='female' WHERE sid='s_1001';
如果不添加where條件的話,會導致全表修改,所以在使用的時候注意了。
表的刪除
語法:
DELETE FROM 表名 [WHERE 條件] #例子 DELETE FROM stu WHERE sid='s_1001';
如果不加 WHERE 條件的話,會全表的數(shù)據(jù)全部刪除,所以要謹慎使用。
表的查詢
#查詢表的所有信息 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標準語句詳解的文章就介紹到這了,更多相關(guān)MySQL SQL語句內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql慢查詢優(yōu)化之從理論和實踐說明limit的優(yōu)點
今天小編就為大家分享一篇關(guān)于mysql慢查詢優(yōu)化之從理論和實踐說明limit的優(yōu)點,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-04-04
mysql判斷當前時間是否在開始與結(jié)束時間之間且開始與結(jié)束時間允許為空
這篇文章主要介紹了mysql判斷當前時間是否在開始與結(jié)束時間之間且開始與結(jié)束時間允許為空,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09
SQL語句中LEFT JOIN的ON和WHERE有什么區(qū)別
這篇文章主要介紹了SQL語句中LEFT JOIN的ON和WHERE之間的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧2022-12-12
MySQL 數(shù)據(jù)查重、去重的實現(xiàn)語句
這篇文章主要介紹了MySQL 數(shù)據(jù)查重、去重的實現(xiàn)語句,幫助大家更好的理解和學習MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下2020-09-09
window下mysql 8.0.15 安裝配置方法圖文教程
這篇文章主要為大家詳細介紹了window下mysql 8.0.15 安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-02-02

