本文目錄一覽:
- 1、MySQL的SQL語言叫什麼?
- 2、Sql必知必會和mysql必知必會先看哪個?
- 3、MySQL(DML數據操作語言,添加/刪除/修改資料庫數據)
- 4、mysql和sql一樣嗎?
- 5、mysql屬於什麼資料庫系統
MySQL的SQL語言叫什麼?
mysql中的sql語言就叫sql語言,中文名叫結構化查詢語言。
簡介:
結構化查詢語言(Structured Query Language)簡稱SQL(發音:/ˈes kjuː ˈel/ “S-Q-L”),是一種特殊目的的編程語言,是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關係資料庫系統;同時也是資料庫腳本文件的擴展名。
結構化查詢語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統, 可以使用相同的結構化查詢語言作為數據輸入與管理的介面。結構化查詢語言語句可以嵌套,這使它具有極大的靈活性和強大的功能。
1986年10月,美國國家標準協會對SQL進行規範後,以此作為關係式資料庫管理系統的標準語言(ANSI
X3.
135-1986),1987年得到國際標準組織的支持下成為國際標準。不過各種通行的資料庫系統在其實踐過程中都對SQL規範作了某些編改和擴充。所以,實際上不同資料庫系統之間的SQL不能完全相互通用。
結構化查詢語言包含6個部分:
一:數據查詢語言(DQL:Data Query Language):
其語句,也稱為「數據檢索語句」,用以從表中獲得數據,確定數據怎樣在應用程序給出。保留字SELECT是DQL(也是所有SQL)用得最多的動詞,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。這些DQL保留字常與其他類型的SQL語句一起使用。
二:數據操作語言(DML:Data Manipulation Language):
其語句包括動詞INSERT,UPDATE和DELETE。它們分別用於添加,修改和刪除表中的行。也稱為動作查詢語言。
三:事務處理語言(TPL):
它的語句能確保被DML語句影響的表的所有行及時得以更新。TPL語句包括BEGIN TRANSACTION,COMMIT和ROLLBACK。
四:數據控制語言(DCL):
它的語句通過GRANT或REVOKE獲得許可,確定單個用戶和用戶組對資料庫對象的訪問。某些RDBMS可用GRANT或REVOKE控制對錶單個列的訪問。
五:數據定義語言(DDL):
其語句包括動詞CREATE和DROP。在資料庫中創建新表或刪除表(CREAT TABLE 或 DROP TABLE);為表加入索引等。DDL包括許多與人資料庫目錄中獲得數據有關的保留字。它也是動作查詢的一部分。
六:指針控制語言(CCL):
它的語句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用於對一個或多個表單獨行的操作。
Sql必知必會和mysql必知必會先看哪個?
這兩本書先看哪個都可以,因為兩本書內容都差不多。
《MySQL必知必會》和《SQL必知必會》作者都是同一個,即Ben Forta 。《SQL必知必會》的前20章所有內容在《MySQL必知必會》里都有,並且多了10章針對MySQL的內容。
《MySQL必知必會》這本書講解的非常的全面,光是最常用的SELECT語句就花了12章來細細講解。並且整本讀下來會感覺到邏輯是非常清晰的,時刻知道自己學的是知識體系上的哪一個分支。
SQL和MySQL的區別:
1、SQL是一種資料庫語言,而MySQL是DBMS資料庫管理系統。
2、SQL用於訪問,更新和操作資料庫中的數據,而MySQL允許保持資料庫中存在的數據。
3、SQL的語言是固定的,而MySQL可以獲得頻繁的更新等等。
4、MySQL本文操作環境:Windows7系統、Dell G3電腦、SQL Server 2016版。
MySQL(DML數據操作語言,添加/刪除/修改資料庫數據)
插入數據
insert into 表名(欄位) values(『數據』);
insert into 表名1(name,age) select name,age from 表2; #表2 數據信息複製到表1
修改數據
update 表名 set ‘欄位’=’數據’; #修改數據
delect from 表名 where 欄位=值; #刪除數據
truncate table 表名; #清空所有數據 且無法恢復
DQL (數據查詢語言,用來查詢數據)
select 要查詢欄位 from 表名 [where 滿足條件];
[group by 分組依據]
[order by 排序依據]
[limit 限定輸出結果]
select * from 表名; #查詢 表 所有數據
select 欄位 欄位 from 表名; #查詢指定欄位數據
select st.name,st.age,th.name,th.age from st,th; #查詢一個或多個 表中的數據
SELECT 欄位名 FROM 表名 WHERE 條件1 OR 條件2 […OR 條件n];
例:SELECT * FROM students WHERE age20 OR education!=’大專’; #查詢年齡小於20或 者學歷不等於大專的學生信息
SELECT 欄位名 FROM 表名 WHERE 條件1 AND 條件2 […AND 條件n];
例:SELECT * FROM students WHERE age22 AND education=’大專’; # 查詢年齡大於22 且學歷為大專的學生信息
select 欄位 from 表名 where age in (12,17,23); #數據在指定 數據 裡面
select 欄位 from 表名 where age between 23 and 28; #數據在23-28 之間
select * from 表名 order by 欄位名; #排序,升序
select 欄位 from 表名 order by desc; # 欄位降序
select 欄位1,欄位2…… from 表名 group by 分組依據欄位; #每個欄位只顯示一條
例:SELECT id,sname,age,phone,place,GROUP_CONCAT(age,place) FROM students GROUP BY age,place; #查詢學生信息,根據age,place分組並顯示每一組的記 錄
select distinct 欄位 from 表名; #去除結果重複行
例:SELECT DISTINCT age FROM students; # 查詢學生的年齡段情況
selcet 欄位1,欄位2,group_concat(分組依賴欄位名) from 表名 group by 分組依賴欄位名; #查詢每個組中記錄數量,顯示出來(使用關鍵字GROUP BY與GROUP_CONCAT()函數一起使用,可以將每個組中的記錄數量都顯 示出來)
例:selcet id,sname,age,phone,GROUP_CONCAT(age) FROM students GROUP BY age; # 查詢學生id,姓名,年齡,電話,根據age分組並顯示每一組的記錄
SELECT 欄位名 FROM 表名 [其他條件] LIMIT int,int; 參數1是開始讀取的第一條記錄的 編號,參數2是要查詢記錄的個數
例:SELECT * FROM students ORDER BY age LIMIT 0,5; # 查詢學生信息,根據age 排序從第0位開始顯示,只顯示5條
select 欄位名 from 表名where欄位名 regexp ‘匹配方式’;
(^匹配以特定字元或 字元串開頭的記錄,
$匹配以特定字元或 字元串結尾的記錄
[^字符集 合]匹配除「字符集合」以 外的任意一個字元
S1|S2|S3匹配S1 S2 S3中 的任意一個字元串
字元串{N }匹配字元串出現N次
字元串 {M,N}匹配字元串出現至 少M次,最多N次)
聚合函數查詢
select count(欄位名) from 表名; #對於除”*”以外的任何參數,返回所選擇集合中非NULL值的行的數目;對於參數「*」,返回選擇集 合中所有行的數據,包含NULL值的行
例:SELECT COUNT(*) FROM students;
select sum(欄位名) from 表名; #表中某個欄位取值的總和
select avg(欄位名) from 表名; #表中某個欄位取值的平均值
select max(欄位名) from 表名; #表中某個欄位取值的最大值
select min(欄位名) from 表名; #表中某個欄位取值的最小值
連接查詢
a.內連接:列出數據表中與連接條件相匹配的數據行,組合成新記錄【只有滿足條件的記錄才出現在查詢結 果】 內連接的最常見的例子是相等連接,也就是連接後的表中的某個欄位與每個表中的都相同
select 欄位名1,欄位名2 from 表名1 inner join 表名2 where 連接條件;
例:select s.name,d.dname from staff s inner join department d WHERE s.dpid = d.id; # 連接員工表的dpid欄位和部門表的id欄位,並查詢員工姓名和部門名稱
b.外連接:與內連接不同,外連接是指使用OUTER JOIN關鍵字將兩個表連接起來。外連接生成的結果集不僅 包含符合連接條件的行數據 ,而且還包含左表(左外連接時的表) 右表(右外連接時的表)或 兩邊連接表(全外連接時的表)中所有的數據行。
select 欄位名稱 from 表名1 LEFT|RIGHT join 表名2 on 表名1.欄位名1 = 表名2.欄位名2;
例:select s.name,d.dname FROM staff s LEFT JOIN department d ON s.dpid = d.id; #連接員工表的dpid欄位和部門表的id欄位,並查詢員工姓名和部門名稱,如果右表中沒有對應的 連接數據,會自動添加NULL值
例:SELECT s.name,d.dname FROM staff s RIGHT JOIN department d ON s.dpid = d.id; # 連接員工表的dpid欄位和部門表的id欄位,並查詢員工姓名和部門名稱,如果左表中沒有對應 的連接數據,會自動添加NULL值
例:SELECT 欄位名1,欄位名2 FROM 表名1,表名2 WHERE 連接條件 AND 限制條件; 例:SELECT s.name,d.dname FROM staff s,department d WHERE s.dpid = d.id AND s.dpid1; # 查詢員工姓名和部門名稱,條件是員工表的dpid欄位與部門表中的id欄位相等,並且dpid大於1
合併查詢結果
select 欄位名 from 表名 UNION select 欄位名 from 表名; #關鍵字UNION是將所 有的查詢結果合併到一起,並且去除相同記錄
例:SELECT dpid FROM staff UNION SELECT id FROM department; # 查詢員工表dpid與部門表id,如果有重複數據,只顯示一次
select 欄位名 drom 表名 UNION ALL select 欄位名from表名; #關鍵字UNION ALL 則只是簡單地將結果合併到一 起
例:SELECT dpid FROM staff UNION ALL SELECT id FROM department; # 查詢員工表dpid與部門表id,全部顯示
mysql和sql一樣嗎?
MySQL是在90年代中期開發的。是市場上第一個可用的開源資料庫之一,今天有很多MySQL的替代變種但是,變體之間的差異並不重要因為它們使用相同的語法,並且基本功能也保持不變。
mysql和sql一樣的區別
MySQL是一種RDBMS,它允許保持資料庫中存在的數據MySQL的發音為「我的SQL」,但它也被稱為「我的續集」它以聯合創始人Michael,Widenius的女兒的名字命名MySQL提供對資料庫的多用戶訪問,在Linux發行版之上,此RDBMS系統與PHP和Apache,Web、Server的組合一起使用MySQL使用SQL語言來查詢資料庫。
SQL是一種用於操作資料庫的語言MySQL是市場上第一個可用的開源資料庫之一SQL用於訪問,更新和操作資料庫中的數據MySQL是一種RDBMS,它允許保持資料庫中存在的數據SQL是結構化查詢語言MySQL是一個使用MYSQL存儲,檢索修改和管理資料庫的RDBMS、SQL是一種查詢語言,而MYSQL是資料庫軟體。
mysql屬於什麼資料庫系統
MySQL是一種開源關係資料庫管理系統(RDBMS),它使用最常用的資料庫管理語言-結構化查詢語言(SQL)進行資料庫管理。MySQL是開源的,因此任何人都可以根據通用公共許可證下載並根據個人需要對其進行修改。它的速度,可靠性和適應性引起了人們的廣泛關注。大多數人認為,當不需要事務處理時,MySQL是管理內容的最佳選擇。MySQL是一個關係資料庫管理系統。關係資料庫將數據存儲在不同的表中,而不是將所有數據都放在一個大型倉庫中,這提高了速度和靈活性。
MySQL使用的SQL語言是用於訪問資料庫的最常用的標準化語言。MySQL軟體採用雙重授權策略,分為社區版本和商業版本。由於其體積小,速度快,總擁有成本低,尤其是開放源代碼的特性,通常中小型網站開發都選擇MySQL作為網站資料庫。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/242381.html