日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL速忆笔记(更新中)

發布時間:2023/12/9 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 權限控制

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速忆笔记(更新中)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。