柚子快報(bào)激活碼778899分享:數(shù)據(jù)庫(kù) MySQL基礎(chǔ)篇
柚子快報(bào)激活碼778899分享:數(shù)據(jù)庫(kù) MySQL基礎(chǔ)篇
一、MySQL概述
MySQL是一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典MySQL AB公司開(kāi)發(fā),屬于Oracle推出的產(chǎn)品。MySQL是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)之一,在WEB應(yīng)用方面,MySQL是最好的RDBMS(關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)) ,關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng))應(yīng)用軟件之一。 MySQL是一種關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同速度的表中,而不是僅僅將所有數(shù)據(jù)放在一個(gè)大關(guān)系倉(cāng)庫(kù)內(nèi),這樣就增加了并提高了靈活性。 MySQL所使用的SQL語(yǔ)言是用于訪問(wèn)數(shù)據(jù)庫(kù)最常用的標(biāo)準(zhǔn)化語(yǔ)言。MySQL軟件采用了雙授權(quán)政策,分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一點(diǎn),特點(diǎn)是一般中小型和大型網(wǎng)站的開(kāi)發(fā)都選擇MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。
二、SQL及其分類
結(jié)構(gòu)化查詢語(yǔ)言(Structured Query Language)簡(jiǎn)稱SQL,是一種特殊目的的編程語(yǔ)言,是一種數(shù)據(jù)庫(kù)查詢和程序設(shè)計(jì)語(yǔ)言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)。 結(jié)構(gòu)化查詢語(yǔ)言是高級(jí)的非過(guò)程化編程語(yǔ)言,允許用戶在高層數(shù)據(jù)結(jié)構(gòu)上工作。它不要求用戶指定對(duì)數(shù)據(jù)的存放方法,也不需要用戶了解具體的數(shù)據(jù)存放方式,所以具有完全不同底層結(jié)構(gòu)的不同數(shù)據(jù)庫(kù)系統(tǒng), 可以使用相同的結(jié)構(gòu)化查詢語(yǔ)言作為數(shù)據(jù)輸入與管理的接口。結(jié)構(gòu)化查詢語(yǔ)言語(yǔ)句可以嵌套,這使它具有極大的靈活性和強(qiáng)大的功能。
分類:
分類全稱說(shuō)明DDL ?Data Definition Language數(shù)據(jù)定義語(yǔ)言,用來(lái)定義數(shù)據(jù)庫(kù)對(duì)象(數(shù)據(jù)庫(kù),表,字段)DML ?Data Manipulation Language數(shù)據(jù)操作語(yǔ)言,用來(lái)對(duì)數(shù)據(jù)庫(kù)表中的數(shù)據(jù)進(jìn)行增刪改DQL ?Data QueryLanguage數(shù)據(jù)查詢語(yǔ)言,用來(lái)查詢數(shù)據(jù)庫(kù)中表的記錄DCL ?Data Control Language數(shù)據(jù)控制語(yǔ)言,用來(lái)創(chuàng)建數(shù)據(jù)庫(kù)用戶、控制數(shù)據(jù)庫(kù)的訪問(wèn)權(quán)限
?
?
?
?
?
?
?
三、下載以及安裝MySQL
官網(wǎng)下載:Mysql官網(wǎng),我們下載一個(gè)社區(qū)版就夠用了
安裝完成后配置環(huán)境變量后直接登錄:
登錄之后即可進(jìn)行一些操作
如下:查看所有的數(shù)據(jù)庫(kù):
等操作,后面會(huì)一起講解一些命令
上面講到了MySQL數(shù)據(jù)庫(kù)管理系統(tǒng),簡(jiǎn)而言之其是用來(lái)管理數(shù)據(jù)庫(kù)的,而MySQL又是通過(guò)什么方式來(lái)管理數(shù)據(jù)庫(kù)的呢,答案是通過(guò)SQL語(yǔ)言,通過(guò)SQL語(yǔ)句進(jìn)行增刪改查等操作,下面進(jìn)一步講解說(shuō)明SQL語(yǔ)句:
在操作MySQL時(shí)常用命令:
DDL操作數(shù)據(jù)庫(kù):
#查詢所有數(shù)據(jù)庫(kù)
SHOW DATABASES ;
#查詢當(dāng)前數(shù)據(jù)庫(kù)
SELECT DATABASE();
#創(chuàng)建數(shù)據(jù)庫(kù)
CREATE DATABASE [IF NOT EXISTS]數(shù)據(jù)應(yīng)名[DEFAULT CHARSET字符集][COLLATE 排序規(guī)則];
刪除數(shù)據(jù)庫(kù)
DROP DATABASE[IF EXISTS]數(shù)據(jù)庫(kù)名;
使用 數(shù)據(jù)庫(kù)
USE 數(shù)據(jù)庫(kù)名,
?DDL操作表:
#DDL-表操作
#查詢當(dāng)前數(shù)據(jù)庫(kù)所有表
SHOW TABLES,
#查詢表結(jié)構(gòu)
DESC 表名;
#查詢指定表的建表語(yǔ)句
SHOW CREATE TABLE 表名)
#DDL-表操作-創(chuàng)建
CREATE TABLE 表名(
字段1字段1類型[COMMENT 字段1注釋],
字段2 字段2類型[COMMENT 字段2注釋],
字段3 字段3類型[COMMENT 字段3注釋],
字段n 字段n類型[COMMENT 字段n注釋 ]
)[COMMENT 表注釋];
#[]括起來(lái)的表示可以省略
#修改數(shù)據(jù)類型
ALTER TABLE 表名 MODIFY 字段名 新數(shù)據(jù)類型(長(zhǎng)度);
#修改字段名和字段類型
ALTER TABLE 表名 CHANGE 舊字段名 新字段名 類型(長(zhǎng)度)[OMMENT 注釋][約束];
?ALTER TABLE table_name ADD column_name datatype;?:向表中添加列。
?ALTER TABLE table_name DROP COLUMN column_name;?:從表中刪除列。
?ALTER TABLE table_name MODIFY column_name datatype;?:修改列的數(shù)據(jù)類型。
?ALTER TABLE table_name CHANGE old_column_name new_column_name datatype;?:更改列名和數(shù)據(jù)類型。
CREATE INDEX index_name ON table_name (column_name);?:創(chuàng)建索引。
?DROP INDEX index_name ON table_name;?:刪除索引。
?TRUNCATE TABLE table_name;?:快速刪除表中的所有數(shù)據(jù),但保留表結(jié)構(gòu)。
DML操作:
?INSERT INTO table_name (column1, column2, column3,...) VALUES (value1, value2, value3,...);?:向表中插入數(shù)據(jù)。
?UPDATE table_name SET column1 = value1, column2 = value2,... WHERE condition;?:更新表中的數(shù)據(jù)。
?DELETE FROM table_name WHERE condition;?:從表中刪除滿足條件的數(shù)據(jù)。
DQL操作:
?基本查詢:
SELECT * FROM table_name; -- 查詢表中的所有列
SELECT column1, column2 FROM table_name; -- 查詢指定列
?
條件查詢:
SELECT * FROM table_name WHERE condition; -- 根據(jù)條件篩選數(shù)據(jù)
?
排序結(jié)果:
SELECT * FROM table_name ORDER BY column_name ASC|DESC; -- 按列升序(ASC)或降序(DESC)排序
?
限制結(jié)果行數(shù):
SELECT * FROM table_name LIMIT offset, row_count; -- 從偏移量 offset 開(kāi)始,返回指定行數(shù) row_count 的結(jié)果
?
聚合函數(shù):
SELECT COUNT(*) FROM table_name; -- 計(jì)算行數(shù)
SELECT SUM(column_name) FROM table_name; -- 求和
SELECT AVG(column_name) FROM table_name; -- 求平均值
SELECT MAX(column_name) FROM table_name; -- 求最大值
SELECT MIN(column_name) FROM table_name; -- 求最小值
?
分組查詢:
SELECT column_name, aggregate_function(column_name) FROM table_name GROUP BY column_name;
?
?多表連接查詢:
- 內(nèi)連接(INNER JOIN):
SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column;
- 左連接(LEFT JOIN):
SELECT * FROM table1 LEFT JOIN table2 ON table1.column = table2.column;
- 右連接(RIGHT JOIN):
SELECT * FROM table1 RIGHT JOIN table2 ON table1.column = table2.column;
?
子查詢:
SELECT column_name FROM table_name WHERE column_name IN (SELECT column_name FROM another_table);
DCL操作:
?GRANT? 語(yǔ)句:用于授予用戶權(quán)限。
- 授予所有權(quán)限:
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'host';
?
- 授予特定權(quán)限,如查詢、插入、更新等:
GRANT SELECT, INSERT, UPDATE ON database_name.table_name TO 'username'@'host';
?
?REVOKE? 語(yǔ)句:用于撤銷用戶的權(quán)限。
REVOKE privilege ON database_name.* FROM 'username'@'host';
?
COMMIT? 語(yǔ)句:用于提交事務(wù),將事務(wù)中的更改永久保存到數(shù)據(jù)庫(kù)。
COMMIT;
?
ROLLBACK? 語(yǔ)句:用于回滾事務(wù),撤銷事務(wù)中所做的更改。
ROLLBACK;
?SET TRANSACTION? 語(yǔ)句:用于設(shè)置事務(wù)的特性,如隔離級(jí)別。
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
?代碼執(zhí)行順序講解:①from ②where ③group by ④select ⑤order by ⑥limit
SELECT
字段列表
FROM
表名列表
WHERE
條件列表
GROUP BY
分組字段列表
HAVING
分組后條件列表
ORDER BY
排序字段列表
LIMIT
分頁(yè)參數(shù)
?
柚子快報(bào)激活碼778899分享:數(shù)據(jù)庫(kù) MySQL基礎(chǔ)篇
好文推薦
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。