久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

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

 python_lover 2022-02-20

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

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)打開服務(wù)窗口(計(jì)算機(jī)管理-->服務(wù)窗口)
  • cmd--> services.msc 打開服務(wù)的窗口
  • 使用管理員打開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ù)庫 表 數(shù)據(jù)

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

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

1、SQL通用語法

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

2,、SQL分類

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

三,、MySQL圖形化工具

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

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

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

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

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

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

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

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

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

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

show databases;

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

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

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

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

刪除

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

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

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

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

select database();

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

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

2、操作表

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

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

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

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

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

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

show tables;

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

desc 表名;

修改
  • 修改表名

alter table 表名 rename to 新的表名

  • 修改表的字符集

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

  • 添加一列

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

  • 修改列名稱 類型

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

  • 刪除列

alter table 表名 drop 列名;

刪除

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

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

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

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

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

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ù)
  • 語法

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

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

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

1,、語法

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

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也可以省略不寫。

3,、條件查詢

  • 語法:

select 字段名 from 表名 where 條件;

運(yùn)算符
運(yùn)算符 說明 例子
>、<,、<=,、>=、=,、<> <>在SQL中表示不等于,在mysql中也可以使用 !=,, 沒有==
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 模糊查詢, 占位符:_:單個(gè)任意字符,,%:多個(gè)任意字符 name like '%張%'; 查詢包含張的
is null 查詢一列為null的值,不能寫成 =null
and 或 && 與,,SQL中建議使用前者,,后者并不通用
or 或 || 與,SQL中建議使用前者,,后者并不通用
not 或 ! 與,,SQL中建議使用前者,后者并不通用

4,、排序查詢

  • 語法

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(列名) 對這一列求總和
  • 語法

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

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

6,、分組查詢

  • 語法

group by 分組字段 [having 條件]

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

7,、分頁查詢

  • 語法

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

  • 公式

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

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

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

    0條評(píng)論

    發(fā)表

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

    類似文章 更多