MySQL速忆笔记(更新中)
生活随笔
收集整理的這篇文章主要介紹了
MySQL速忆笔记(更新中)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本筆記不適合初學者觀看,如果想細致了解數據庫的初學者可以前往數據庫雜談全集深入了解。
數據庫原理指路:數據庫雜談(一)
另外希望能看到這篇筆記的同志能點個贊,在內卷的時代分享知識不容易。
文章目錄
- @[toc]
- 1 準備工作
- 1.1 啟動與停止
- 1.2 客戶端連接
- 2 SQL
- 2.1 數據庫操作
- 2.2 表操作
- 2.2.1 查詢數據庫中的表
- 2.2.2 修改表數據
- 2.2.3 添加數據
- 2.2.4 修改數據
- 2.3查詢
- 2.3.1 基本查詢
- 2.3.2 條件查詢
- 2.3.3 聚合函數
- 2.3.4 分組查詢
- 2.3.5 排序查詢
- 2.3.6 分頁查詢
- 2.4 用戶管理
- 2.5 權限控制
- @[toc]
- 1.1 啟動與停止
- 1.2 客戶端連接
- 2.1 數據庫操作
- 2.2 表操作
- 2.2.1 查詢數據庫中的表
- 2.2.2 修改表數據
- 2.2.3 添加數據
- 2.2.4 修改數據
- 2.3查詢
- 2.3.1 基本查詢
- 2.3.2 條件查詢
- 2.3.3 聚合函數
- 2.3.4 分組查詢
- 2.3.5 排序查詢
- 2.3.6 分頁查詢
- 2.4 用戶管理
- 2.5 權限控制
1 準備工作
1.1 啟動與停止
net start mysql80 net stop mysql80其中mysql80為window服務器名字。
1.2 客戶端連接
mysql [-h 127.0.0.1] [-p 3306] -u root -p系統自帶的命令行工具執行指令。需要注意的是使用這種方式時需要配置PATH環境變量。
2 SQL
分為DDL,DML,DQL,DCL。
2.1 數據庫操作
查詢所有數據庫
show databases;查詢當前數據庫
select database();創建數據庫
create databases [if not exists] 數據庫名 [default charset 字符集] [collate 排序規則];刪除
drop database [if exists] 數據庫名;使用數據庫
use 數據庫名;2.2 表操作
2.2.1 查詢數據庫中的表
查詢當前數據庫的所有表
show tables;查詢表結構
desc 表名查詢指定表的建表語句
show create table 表名;2.2.2 修改表數據
添加屬性
alter table 表名 add 屬性名 類型(長度) [comment 注釋] [約束];修改數據類型
alter table 表名 modify 屬性名 新數據類型(長度);修改字段名和字段類型
alter table 表名 change 舊屬性名 類型(長度) [comment 注釋] [約束]刪除屬性
alter table 表名 drop 屬性名;修改表名
alter table 表名 rename to 新表名刪除表
drop table [if exists] 表名刪除指定表,并重新創建該表(用于格式化表)
truncate table 表名;2.2.3 添加數據
給指定屬性添加數據
insert into 表名(屬性名1,屬性名2,...)values(值1,值2,...);給全部字段添加數據
insert into 表名 values(值1,值2,...);批量添加數據
insert into 表名(字段名,字段名,...)values(值1,值2,...),(值1,值2,...); insert into 表名values(值1,值2,...),(值1,值2,...);2.2.4 修改數據
更新數據
update 表名 set 字段名1 = 值1,字段名2 = 值2,...[where 條件];刪除數據
delete from 表名 [where 條件]2.3查詢
基本語法及執行順序
select ④屬性列表 from ①表名列表 where ②條件列表 group by ③分組字段列表 having 分組后條件列表 order by ⑤排序字段列表 limit ⑥分頁參數2.3.1 基本查詢
設置別名
select 屬性1 as 別名1 from 表名去除重復記錄
select distinct 屬性列表 from 表名2.3.2 條件查詢
基本語法
select 屬性列表 from 表名 where 條件列表條件列表
| > | 大于 |
| >= | 大于等于 |
| < | 小于 |
| <= | 小于等于 |
| = | 等于 |
| <>或!= | 不等于 |
| between… and | 某個范圍內 |
| in(…) | 在列表中選其一 |
| like 占位符 | 模糊查詢 |
| is null | 是空值 |
| and 或 && | 并且(多個條件同時成立) |
| or 或 && | 或者(多個條件任意一個成立) |
| not 或 ! | 不是 |
2.3.3 聚合函數
| count | 統計數量 |
| max | 最大值 |
| min | 最小值 |
| avg | 平均值 |
| sum | 求和 |
- null值不參與聚合函數運算
- where后不能有聚合函數
2.3.4 分組查詢
基本語法
select 屬性列表 from 表名 [where 條件] group by 分組字段名 [having 分組后過濾條件]需要注意的是where和having的區別:
- 執行時機不同:where是分組之前進行過濾,不滿足where條件,不參與分組,而having是分組之后對結果進行過濾
- 判斷條件不同:where不能對聚合函數進行判斷,having可以
2.3.5 排序查詢
基本語法
select 屬性列表 from 表名 order by 屬性1 排序方式1,屬性2 排序方式2;| asc | 升序(不指定排序方式默認升序) |
| desc | 降序 |
如果不指定屬性,只使用排序方式,那么默認對所有屬性做排序。
2.3.6 分頁查詢
基本語法
select 屬性列表 from 表名 limit 起始索引 查詢記錄數起始索引從0開始,即起始索引 = (查詢頁碼-1)
分頁查詢是數據庫的方言,不同數據庫有不同的實現,MySQL中是Limit
如果查詢的是第一頁數據,起始索引可以省略,直接簡寫為limit 查詢記錄數
2.4 用戶管理
查詢用戶
use mysql select * from user;創建用戶
create user '用戶名'@'主機名' identified by '密碼';修改用戶密碼
alter user '用戶名'@'主機名' identified with mysql_native_password by '新密碼';刪除用戶
drop user '用戶名'@'主機名';2.5 權限控制
常見權限表
| all,all privieges | 所有權限 |
| select | 查詢數據 |
| insert | 插入數據 |
| update | 修改數據 |
| delete | 刪除數據 |
| alter | 修改表 |
| drop | 刪除數據庫/表/視圖 |
| create | 創建數據庫/表 |
查詢權限
show grants for '用戶名'@'主機名';授予權限
grant 權限列表 on 數據庫名 表名 to '用戶名'@'主機名';撤銷權限
revoke 權限列表 on 數據庫名.表名 from '用戶名'@'主機名';多個權限之間,使用逗號分割;
授權時,數據庫名和表名可以使用*進行通配,代表所有;
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的MySQL速忆笔记(更新中)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php设计模式之单例(多例),注册器,观
- 下一篇: mysql-5.5.31主从复制