免费高清特黄a大片,九一h片在线免费看,a免费国产一级特黄aa大,国产精品国产主播在线观看,成人精品一区久久久久,一级特黄aa大片,俄罗斯无遮挡一级毛片

分享

MySQL數(shù)據(jù)庫(kù)基礎(chǔ)學(xué)習(xí)筆記(一)

 python_lover 2022-02-20

一、MySQL數(shù)據(jù)庫(kù)軟件

1、安裝

點(diǎn)擊去往官網(wǎng)社區(qū)版本下載
記錄版本號(hào):5.5.40 64位

2、卸載

1、程序卸載
2、刪除C:/ProgramData目錄下的MySQL文件夾

3、配置

MySQL服務(wù)啟動(dòng)
  • 手動(dòng)打開(kāi)服務(wù)窗口(計(jì)算機(jī)管理-->服務(wù)窗口)
  • cmd--> services.msc 打開(kāi)服務(wù)的窗口
  • 使用管理員打開(kāi)cmd
    • net start mysql : 啟動(dòng)mysql的服務(wù)
    • net stop mysql:關(guān)閉mysql服務(wù)
MySQL登錄
  • mysql -uroot -p密碼
  • mysql -hip -uroot -p連接目標(biāo)的密碼
  • mysql --host=ip --user=root --password=連接目標(biāo)的密碼

MySQL退出

  • exit
  • quit

MySQL目錄結(jié)構(gòu)

  • MySQL安裝目錄:basedir="D:/develop/MySQL/"
    • 配置文件 my.ini
  • MySQL數(shù)據(jù)目錄:datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"
    • 數(shù)據(jù)庫(kù) 表 數(shù)據(jù)

二、SQL(Structured Query Language)結(jié)構(gòu)化查詢語(yǔ)言

定義了操作所有關(guān)系型數(shù)據(jù)庫(kù)的規(guī)則。每一種數(shù)據(jù)庫(kù)操作的方式存在不一樣的地方,稱為“方言”

1、SQL通用語(yǔ)法

  • SQL 語(yǔ)句可以單行或多行書(shū)寫(xiě),以分號(hào)結(jié)尾。
  • 可使用空格和縮進(jìn)來(lái)增強(qiáng)語(yǔ)句的可讀性。
  • MySQL 數(shù)據(jù)庫(kù)的 SQL 語(yǔ)句不區(qū)分大小寫(xiě),關(guān)鍵字建議使用大寫(xiě)。
  • 3 種注釋
    • 單行注釋: -- 注釋內(nèi)容 或 # 注釋內(nèi)容(mysql 特有)
    • 多行注釋: /* 注釋 */

2、SQL分類(lèi)

  • DDL(Data Definition Language)數(shù)據(jù)定義語(yǔ)言
    • 用來(lái)定義數(shù)據(jù)庫(kù)對(duì)象:建庫(kù),建表等。關(guān)鍵字:create, drop,alter 等
  • DML(Data Manipulation Language)數(shù)據(jù)操作語(yǔ)言
    • 對(duì)表中的記錄操作增刪改。關(guān)鍵字:insert, delete, update 等
  • DQL(Data Query Language)數(shù)據(jù)查詢語(yǔ)言
    • 對(duì)表中的查詢操作。關(guān)鍵字:select, where 等
  • DCL(Data Control Language)數(shù)據(jù)控制語(yǔ)言(了解)
    • 對(duì)用戶權(quán)限的設(shè)置。關(guān)鍵字:GRANT, REVOKE 等

三、MySQL圖形化工具

四、DDL:操作數(shù)據(jù)庫(kù)、表

CRUD 代表:創(chuàng)建(create)、查詢(Retrieve)、修改(Update)、刪除(Delete)

1、操作數(shù)據(jù)庫(kù)

創(chuàng)建
  • 創(chuàng)建數(shù)據(jù)庫(kù)

create database 數(shù)據(jù)庫(kù)名稱;

  • 創(chuàng)建數(shù)據(jù)庫(kù),判斷不存在,再創(chuàng)建

create database if not exists 數(shù)據(jù)庫(kù)名稱;

  • 創(chuàng)建數(shù)據(jù)庫(kù),并指定字符集,如:gbk、utf8等

create database 數(shù)據(jù)庫(kù)名稱 character set 字符集名;

查詢
  • 查詢所有數(shù)據(jù)庫(kù)的名稱

show databases;

  • 查詢某個(gè)數(shù)據(jù)庫(kù)的字符集:查詢某個(gè)數(shù)據(jù)庫(kù)的創(chuàng)建語(yǔ)句

show create database 數(shù)據(jù)庫(kù)名稱;

修改
  • 修改數(shù)據(jù)庫(kù)的字符集

alter database 數(shù)據(jù)庫(kù)名稱 character set 字符集名稱;

刪除

drop database 數(shù)據(jù)庫(kù)名稱;

  • 判斷數(shù)據(jù)庫(kù)存在,存在再刪除

drop database if exists 數(shù)據(jù)庫(kù)名稱;

使用數(shù)據(jù)庫(kù)
  • 查詢當(dāng)前正在使用的數(shù)據(jù)庫(kù)名稱

select database();

  • 使用/切換數(shù)據(jù)庫(kù)

use 數(shù)據(jù)庫(kù)名稱;

2、操作表

創(chuàng)建
  • 創(chuàng)建表

create table 表名(
列名1 數(shù)據(jù)類(lèi)型1,
列名2 數(shù)據(jù)類(lèi)型2,
...
列名n 數(shù)據(jù)類(lèi)型n
)

注意:最后一列,不要加逗號(hào)

  • 常用數(shù)據(jù)類(lèi)型如下:
類(lèi)型 描述
int 整數(shù)類(lèi)型 (如:age int)
double 小數(shù)類(lèi)型(如:score double(5,2)), 5指整數(shù)位數(shù),2代表小數(shù)位數(shù)
date 日期。只包含年月日,yyyy-MM-dd
datetime 日期。包含年月日時(shí)分秒 yyyy-MM-dd HH:mm:ss
timestamp 時(shí)間戳類(lèi)型。包含年月日時(shí)分秒 yyyy-MM-dd HH:mm:ss (注:如果將來(lái)不給這個(gè)字段賦值,或賦值為null,則默認(rèn)使用當(dāng)前的系統(tǒng)時(shí)間,來(lái)自動(dòng)賦值)
varchar 字符串 (如:name varchar(20), 指姓名最大20個(gè)字符)
  • 復(fù)制表

create table 表名 like 被復(fù)制的表名;

查詢
  • 查詢某個(gè)數(shù)據(jù)庫(kù)中所有的表名稱

show tables;

  • 查詢表結(jié)構(gòu)

desc 表名;

修改
  • 修改表名

alter table 表名 rename to 新的表名

  • 修改表的字符集

alter table 表名 character set 字符集名稱;

  • 添加一列

alter table 表名 add 列名 數(shù)據(jù)類(lèi)型;

  • 修改列名稱 類(lèi)型

alter table 表名 change 列名 新列名 新數(shù)據(jù)類(lèi)型;
alter table 表名 modify 列名 新數(shù)據(jù)類(lèi)型;

  • 刪除列

alter table 表名 drop 列名;

刪除

drop table 表名;
drop table if exists 表名;

五、DML:增刪改表中數(shù)據(jù)

添加數(shù)據(jù)
  • 語(yǔ)法

insert into 表名 (列名1,列名2,...列名n) values(值1,值2,...值n);

  • 注意:
    • 列名和值要一一對(duì)應(yīng)。
    • 如果表名后,不定義列名,則默認(rèn)給所有列添加值。
    • 除了數(shù)字類(lèi)型,其他類(lèi)型需要使用引號(hào)(單雙都可以)引起來(lái)。
刪除數(shù)據(jù)
  • 語(yǔ)法

delete from 表名 [where 條件];

舉個(gè)例子:刪掉表中score為null的數(shù)據(jù)

delete from stu where score is null;

  • 注意:

    • 如果不加條件,則刪除表中所有記錄。
  • 如果需要?jiǎng)h除所有記錄:

delete from 表名; ---不推薦使用,有多少條就會(huì)執(zhí)行多少次刪除,效率低
truncate table 表名; ---推薦使用,先刪除表,然后在創(chuàng)建一張一樣的表,效率高

修改數(shù)據(jù)
  • 語(yǔ)法

update 表名 set 列名1 = 值1, 列名2 = 值2, ... [where 條件]

  • 注意:
    • 如果不加任何條件,則會(huì)將表中所有記錄全部修改。

六、DQL:查詢表中的記錄(重要)

1、語(yǔ)法

slelect
  字段列表
from
  表名列表
where
  條件列表
group by
  分組字段
having
  分組之后的條件
order by 
  排序
limit
  分頁(yè)限定

2、基礎(chǔ)查詢

  • 多個(gè)字段的查詢

select 字段名1,字段名2... from 表名;
select * from 表名; --查詢所有字段

  • 去除重復(fù)

select distinct 字段名 from 表名;

  • 計(jì)算列

select 字段名1 + 固定值(或者字段名2) from 表名;

注:一般只會(huì)進(jìn)行數(shù)值型的計(jì)算
ifnull(需要判斷的值,替換值):null參與的運(yùn)算,計(jì)算結(jié)果都為null。

  • 起別名

select 字段名1 as 別名1, 字段名2 as 別名2 ... from 表名;

注:as也可以省略不寫(xiě)。

3、條件查詢

  • 語(yǔ)法:

select 字段名 from 表名 where 條件;

運(yùn)算符
運(yùn)算符 說(shuō)明 例子
>、<、<=、>=、=、<> <>在SQL中表示不等于,在mysql中也可以使用 !=, 沒(méi)有==
between...and 在一個(gè)范圍之內(nèi),包頭又包尾 score between 80 and 100; 表示在80到100之間,相當(dāng)于:age>=80 && age<=100
in(集合) 表示多個(gè)值,使用逗號(hào)分隔 id not in(1,3,5); 查詢id不是1或3或5的
like 模糊查詢, 占位符:_:?jiǎn)蝹€(gè)任意字符,%:多個(gè)任意字符 name like '%張%'; 查詢包含張的
is null 查詢一列為null的值,不能寫(xiě)成 =null
and 或 && 與,SQL中建議使用前者,后者并不通用
or 或 || 與,SQL中建議使用前者,后者并不通用
not 或 ! 與,SQL中建議使用前者,后者并不通用

4、排序查詢

  • 語(yǔ)法

order by 排序字段1 排序方式1, 排序字段2 排序方式2...

  • 排序方式

    • asc:升序(默認(rèn))
    • desc:降序
  • 注意

    • 如果有多個(gè)排序條件,則當(dāng)前邊的條件值一樣時(shí),才會(huì)判斷第二條件

5、聚合函數(shù)

  • 5個(gè)聚合函數(shù)
SQL中的聚合函數(shù) 作用
max(列名) 求這一列的最大值
min(列名) 求這一列的最小值
avg(列名) 求這一列的平均值
count(列名) 統(tǒng)計(jì)這一列有多少條記錄
sum(列名) 對(duì)這一列求總和
  • 語(yǔ)法

select 聚合函數(shù)(列名) from 表名;

  • 注意
    • 聚合函數(shù)的計(jì)算,會(huì)排除null值。解決:ifnull(列名,默認(rèn)值)

6、分組查詢

  • 語(yǔ)法

group by 分組字段 [having 條件]

  • where 和 having 的區(qū)別?
    • where 在分組之前進(jìn)行限定,如果不滿足條件,則不參與分組。having在分組之后進(jìn)行限定,如果不滿足結(jié)果,則不會(huì)被查詢出來(lái)
    • where 后不可以跟聚合函數(shù),having可以進(jìn)行聚合函數(shù)的判斷。

7、分頁(yè)查詢

  • 語(yǔ)法

limit 開(kāi)始的索引, 煤業(yè)查詢的條數(shù);

  • 公式

開(kāi)始的索引 = (當(dāng)前的頁(yè)碼 - 1) * 每頁(yè)顯示的條數(shù)

  • 注意
    • limit 是一個(gè)MySQL"方言"。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多