MySQL基礎篇之第()幕 SQL優化

2021-10-07 15:27:35 字數 1705 閱讀 1834

database,儲存有組織的資料的容器(通常是乙個檔案或一組檔案)。

table,某種特定型別資料的結構化清單。

schema,資料庫和表的布局及特性的資訊,定義了資料在表中如何儲存,包括儲存什麼樣的資料,資料如何分解,各部分資訊如何命名等。資料庫和資料表都有模式。

表中一條記錄

表中乙個字段。

一列或一組列,每個值能唯一標識表中一條記錄。

structured query language,每個dbms都有自己的實現,比如pl/sql、transact-sql等。

語句和查詢的組成。

1、sql語句是不區分大小寫的,但表名、列名、值是否區分,要看具體的dbms和配置;

2、多條sql用分號隔開;

3、多個空格會被忽略;

4、注釋三種形式:

## 第一種

– 第二種

/* 第三種 */

data definition language,是sql語言集中負責資料結構定義和資料庫物件定義的語言。

主要功能是定義資料庫物件。

核心指令:create、alter、drop。

data manipulation language,用於資料庫操作,對資料庫中的物件和資料執行訪問工作的程式語言。

主要功能是訪問資料,其語法主要是讀寫資料庫。

核心指令:insert、update、delete、select,合稱crud。

transaction control language,用於管理資料庫中的事務。允許把語句分組為邏輯事務。

核心指令:commit、rollback。

data control language,一種可以對資料訪問權進行控制的指令,控制特定使用者賬戶對資料表、檢視表、預存程式、使用者自定義函式等資料庫物件的控制權。

核心指令:grant、revoke。

以控制使用者的訪問許可權為主。

可控制許可權:connect、select、update、delete、execute、usage、references。

不同dbms以及不同安全性實體,其支援的許可權控制也有所不同。

(1)insert into user(11,「tom」,「***@163.com」);

(2)insert into user(id,name) values (12, 「jerry」);

(3)insert into user (name) select name from olduser;

update user set name=「linda」 where id=11;

刪除滿足條件的記錄:

delete from user where id=15;

清空表:

truncate table user;

返回唯一值,作用於select中的所有列,也就是說所有列都一樣的記錄算同一條。比如select distinct * ,就是作用資料表中所有列,select distinct id ,就是作用id這一列。

限制返回的行數,最多兩個引數,第乙個是起始行,從0開始,第二個是返回行數。

asc 公升序(預設)、desc 降序。

可以巢狀在select、insert、update、delete中或者另乙個子查詢中。

通常在另乙個seelct語句的where子句中;

可以用比較運算子,>、<、=,也可以是多行運算子,in、any、all。

必須用圓括號括起來。

詳見:mysql小表驅動大表

MySQL基礎篇之第(五)幕 MySQL通訊過程

客戶端和伺服器端建立連線主要以下幾種方式 在linux和unix環境下可用,不是網路協議,僅當客戶端 mysql伺服器在同一電腦上才能使用。windows環境中,當客戶端和mysql伺服器在同一電腦上才能使用。命名管道 shared memory on off 共享記憶體 enable named ...

SQL篇 Mysql的SQL效能調優

伺服器優化 擴大buffer pool 預設為128m 理論上為記憶體的3 4或者4 5 innodb buffer pool size 750m sql設計層面的優化 1 分頁查詢的調優 當limit的偏移量越大時,效能越差 優化前 select 字段 from table limit 3000,...

SQL之基礎篇

說明儲存空間 bitbit資料型別是整型,其值只能是0 1或空值。這種資料型別用於儲存只有兩種可能值的資料,如yes 或no true 或false on 或off.很省空間的一種資料型別,如果能夠滿足需求應該盡量多用。1位元組tinyint tinyint 資料型別能儲存從0到255 之間的整數。...