最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

【D1n910】(5/42)學(xué)習(xí)【MySQL數(shù)據(jù)庫(kù)】C++語(yǔ)言程序設(shè)計(jì) - MySQL數(shù)據(jù)庫(kù)的筆記

2023-03-29 07:47 作者:愛(ài)交作業(yè)的D1N910  | 我要投稿

正常操作,正常分析,大家好,我是D1N910。本文是我學(xué)習(xí)【MySQL數(shù)據(jù)庫(kù)】C++語(yǔ)言程序設(shè)計(jì) - MySQL數(shù)據(jù)庫(kù)所做的文字筆記。

【MySQL數(shù)據(jù)庫(kù)】

P1 數(shù)據(jù)處理技術(shù)概述~1

  • 數(shù)據(jù)處理技術(shù)的發(fā)展

  • 人工管理階段 20世紀(jì)50年代中期之前

  • 文件系統(tǒng)階段 20世紀(jì)50年代后期~60年代中期

  • 數(shù)據(jù)庫(kù)階段 20世紀(jì)60年代末~至今

IBM大哥出的數(shù)據(jù)管理系統(tǒng)。1969年的時(shí)候,美國(guó)大哥出了行業(yè)的標(biāo)準(zhǔn)。1970年,IBM的大哥在A(yíng)CM的刊物上發(fā)了關(guān)系模型的概念;

復(fù)雜度高;獨(dú)立性高;冗余度低;


【相關(guān)術(shù)語(yǔ)】

數(shù)據(jù)(Data):

數(shù)據(jù)庫(kù)中存儲(chǔ)的基本對(duì)象,包括文字、圖形、圖像、聲音等

數(shù)據(jù)庫(kù)(Database):

是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)、有組織的、可共享的大量數(shù)據(jù)的集合

數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS):

是位于用戶(hù)和操作系統(tǒng)之間的一層數(shù)據(jù)庫(kù)管理軟件

科學(xué)的組織和存儲(chǔ)數(shù)據(jù)、高效的獲取和維護(hù)數(shù)據(jù)

數(shù)據(jù)庫(kù)系統(tǒng)(DBS):

是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的系統(tǒng)構(gòu)成,由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)(及其開(kāi)發(fā)工具).應(yīng)用系統(tǒng)、數(shù)據(jù)庫(kù)管理員(和用戶(hù))構(gòu)成


【主流的數(shù)據(jù)庫(kù)產(chǎn)品】

層次、網(wǎng)狀、關(guān)系以及非關(guān)系型

關(guān)系型應(yīng)用時(shí)間最長(zhǎng),運(yùn)用范圍最廣。

本門(mén)課就是學(xué)習(xí)關(guān)系型數(shù)據(jù)庫(kù)。

1、Oracle

Oracle Database,又名Oracle RDBMS,或簡(jiǎn)稱(chēng)Oracle。是甲骨文公司出的管理系統(tǒng)。2016年,在全球占市場(chǎng)的40%,占國(guó)內(nèi)市場(chǎng)的60%!


2、DB2

IBM DB2企業(yè)服務(wù)器版本,是美國(guó)IBM公司發(fā)展的一套關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。

環(huán)境為UNIX、Linux、IBM i、Z/OS,以及Windows服務(wù)器版本。

提出了 SQL 語(yǔ)言的前身


3、Microsoft SOL Server

Microsoft SOL Server是由美國(guó)微軟公司所推出的關(guān)系數(shù)據(jù)庫(kù)解決方案


4、MysQL

MySQL原本是一個(gè)開(kāi)放源代碼的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)


SQL 語(yǔ)言

SQL是用于對(duì)存放在計(jì)算機(jī)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行組織、管理和檢索的SQL"是Structured Query Language的縮寫(xiě).

SQL是和關(guān)系數(shù)據(jù)庫(kù)交織在一起發(fā)展起來(lái)的。

1970 Codd定義關(guān)系數(shù)據(jù)庫(kù)模式

1974 IBM開(kāi)始其System/R計(jì)劃1974 首篇文章描述SEOUEL語(yǔ)言

1986 批準(zhǔn)ANSI SOL標(biāo)準(zhǔn)

1987 批準(zhǔn)TSO SOI標(biāo)準(zhǔn)


SQL可分為:

數(shù)據(jù)查詢(xún)語(yǔ)言( DQL) : Data Query Language

select

應(yīng)用最廣泛,語(yǔ)法最靈活最復(fù)雜,課程中花時(shí)間最多


數(shù)據(jù)操縱語(yǔ)言( DML): Data Manipulation Language

insert、delete、update

用來(lái)改變數(shù)據(jù)庫(kù)中表中的數(shù)據(jù)


數(shù)據(jù)定義語(yǔ)言(DDL): Data Definition Language

create、alter、drop

創(chuàng)建、修改或者刪除數(shù)據(jù)庫(kù)對(duì)象,比如表、視圖等等



事務(wù)控制語(yǔ)言( TCL) : Transaction Control Language

commit 、rollback、savepoint

為了維護(hù)數(shù)據(jù)庫(kù)數(shù)據(jù)的一致性


數(shù)據(jù)控制語(yǔ)言( DCL): Data Control Language

grant、revoke、create user

用來(lái)進(jìn)行創(chuàng)建用戶(hù)等,對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理的操作,課程中不多


P2 1.2 MySQL基礎(chǔ)知識(shí)~1

MySQL的特點(diǎn)

  • 性能高效

  • 跨平臺(tái)支持

  • 簡(jiǎn)單易用

  • 開(kāi)源

  • 支持多用戶(hù)


進(jìn)入MySQL


啟動(dòng)和停止MySQL服務(wù)

啟動(dòng):service mysql start

重啟:service mysql restart

停止:service mysql stop



連接MySQL服務(wù)器

語(yǔ)法

>其中

  • host: 主機(jī)名或IP地址

  • username: 登錄名

  • pwd: 密碼

  • dbname: 當(dāng)前數(shù)據(jù)庫(kù)

  • port:端口號(hào)

示例

> mysql -h localhost -u root -p information_schema 3306

>mysql -h 192.168.1.1 -u root -p


斷開(kāi)服務(wù)器連接 exit, quit

清屏 control + L (Mac)


可以不輸入主機(jī)號(hào),使用默認(rèn)主機(jī)號(hào)

  • 但是如果IP地址不一樣,那么就要加


MySQL的管理

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

創(chuàng)建數(shù)據(jù)庫(kù)的語(yǔ)法

其中:

  • dbname是新建數(shù)據(jù)庫(kù)的名稱(chēng)

示例

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

*注意,我們每行語(yǔ)句都要用分號(hào)作為結(jié)尾!


查看數(shù)據(jù)庫(kù)

查看所有數(shù)據(jù)庫(kù)

語(yǔ)法:?

>其中 :

  • information _schema(定義了所有的數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)對(duì)象的信息)、performance_schema(收集mysql服務(wù)器的性能參數(shù),方便數(shù)據(jù)庫(kù)管理排查性能問(wèn)題)以及mysql(配置賬號(hào)數(shù)據(jù)等等)數(shù)據(jù)庫(kù)為系統(tǒng)數(shù)據(jù)庫(kù)。

  • choose數(shù)據(jù)庫(kù)為剛剛新建的數(shù)據(jù)庫(kù)顯示指定數(shù)據(jù)庫(kù)結(jié)構(gòu)

>語(yǔ)法 :?

>其中 :

  • dbname 是要查看的數(shù)據(jù)庫(kù)的名稱(chēng)


選擇當(dāng)前數(shù)據(jù)庫(kù)

語(yǔ)法

  • 其中: dbname 是要設(shè)置的當(dāng)前數(shù)據(jù)庫(kù)的名稱(chēng)

示例

將choose數(shù)據(jù)庫(kù)設(shè)置為當(dāng)前數(shù)據(jù)庫(kù)


這個(gè)是我們連接數(shù)據(jù)庫(kù)的時(shí)候直接在后面加上數(shù)據(jù)庫(kù)的名稱(chēng)有一樣的作用


刪除數(shù)據(jù)庫(kù)

  • 語(yǔ)法

其中: dbname 是要?jiǎng)h除的數(shù)據(jù)庫(kù)的名稱(chēng)

  • 示例 :

  • 數(shù)據(jù)庫(kù)一旦刪除,保存在該數(shù)據(jù)庫(kù)中的全部數(shù)據(jù)丟失



03 MySQL 表管理

創(chuàng)建表的語(yǔ)法 create

e.g.


查看表

查看當(dāng)前數(shù)據(jù)庫(kù)中所有的表

show tables

查看指定表的表結(jié)構(gòu)

desc[ribe] table_name

示例:?

查看指定表的詳細(xì)信息

show create table table_name;

示例 :?


刪除表

刪除表的語(yǔ)法

drop table table name;

示例:使用SOL語(yǔ)句刪除表student

刪除表后,MySQL服務(wù)實(shí)例會(huì)自動(dòng)刪除表定義文件,以及數(shù)據(jù)、索引等


P4 1.3 表結(jié)構(gòu)的管理(一)~1

MySQL只要支持5種整數(shù)類(lèi)型: tinyint、smallint、mediumint、int和bigint

可以使用關(guān)鍵字“unsigned”對(duì)整數(shù)類(lèi)型進(jìn)行修飾(無(wú)符號(hào))

取值范圍:

tinyint 1字節(jié)

smallint 2 字節(jié)

mediumint 3 字節(jié)

int 4 字節(jié)

bigint 8 字節(jié)


小數(shù)類(lèi)型

精確小數(shù)類(lèi)型

decimal(length, precision)

  • length決定了該小數(shù)的最大位數(shù)

  • precision用于設(shè)置精度( 小數(shù)點(diǎn)后數(shù)字的位數(shù) )

  • 例如 : decimal(5,2)

浮點(diǎn)數(shù)類(lèi)型

單精度浮點(diǎn)型 float 4字節(jié)

雙精度浮點(diǎn)型 double 8字節(jié)

  • 例如,定義工資字段salary,可以用 salary float unsigned

  • 其中,unsigned用于約束工資不能為負(fù)數(shù)。


字符串類(lèi)型

定長(zhǎng)字符串: char(n)

  • 最多容納字符數(shù): 255

變長(zhǎng)字符串: varchar(n)

  • n的取值和字符集有關(guān)

示例

在表student中的student_name列的定義如下:

表示student_name列中最多可存儲(chǔ)長(zhǎng)度為10的字符串。


日期時(shí)間類(lèi)型

date

  • 3個(gè)字節(jié)

  • 取值范圍:‘1000-01-01'~’9999-12-31‘

  • 格式:YYYY-MM-DD

datetime

  • 8個(gè)字節(jié)

  • 取值范圍:'1000-01-01 00:00:00'~*9999-12-31 23:59:59

  • 格式:YYYY-MM-DD hh:mm:ss

time

  • 取值范圍 :'-838:59:59' to838:59:59

  • 格式:"hh:mm:ss' 或"hhh:mm:ss


創(chuàng)建表

語(yǔ)法約束

約束類(lèi)型

主鍵約束 primary key 用標(biāo)記唯一

非空約束 not null 創(chuàng)建數(shù)據(jù)不能為空

默認(rèn)約束 default 創(chuàng)建時(shí)會(huì)有默認(rèn)值

唯一約束 unique

外鍵約束 foreign key、references


1、主鍵約束 primary key(記得用括號(hào)包裹!)

`` 測(cè)試

單一字段作主鍵

????直接在該字段的數(shù)據(jù)類(lèi)型或者其他約束條件后加上關(guān)鍵字primary key

????語(yǔ)法字段名 數(shù)據(jù)類(lèi)型[其他約束條件]? primary key

????例如,將學(xué)生表student的student_no字段設(shè)置為主鍵,SQL語(yǔ)句如下

P5 1.3 表結(jié)構(gòu)的管理(一)~2

多個(gè)字段組合作主鍵

? ? 如果想要?jiǎng)?chuàng)建多個(gè)字段組合起來(lái)作為組件,就要使用復(fù)合組件。

????實(shí)際上就是在定義完所有字段后,加上逗號(hào),另起一行然后加上去。

????語(yǔ)法規(guī)則 :

例如,將(t1,t2)組合你test表的主鍵

約束實(shí)施

非空約束

》語(yǔ)法規(guī)則

直接在該字段的數(shù)據(jù)類(lèi)型后加上關(guān)鍵字not null,語(yǔ)法o字段名 數(shù)據(jù)類(lèi)型 not null

>示例

將學(xué)生表student的student_name字段設(shè)置為非空約束,SQL語(yǔ)句如下

這里 stu_no 是 primary key,所以 Null 是 No;stu_name 做了設(shè)置,所以 Null 是 No

`` 測(cè)試


默認(rèn)值約束

語(yǔ)法

。直接在該字段的數(shù)據(jù)類(lèi)型及約束條件后加上”default 默認(rèn)值”即可,語(yǔ)法:

>示例

·將課程表course的status字段設(shè)置為默認(rèn)值約束,且默認(rèn)值為'未審核’,SQL語(yǔ)句如下:

將課程表course的up limit字段設(shè)置為默認(rèn)值約束,且默認(rèn)值為整數(shù)60,SQL語(yǔ)句如下:

如何使用默認(rèn)值呢?


1、直接用不帶單引導(dǎo)的 default 填充!

2、前置聲明



唯一約束

》 語(yǔ)法

????直接在該字段的數(shù)據(jù)類(lèi)型后加上關(guān)鍵字unique

????字段名 數(shù)據(jù)類(lèi)型 unique

》如果某個(gè)字段存在多種約束條件,約束條件的順序是隨意的

》示例

將班級(jí)表classes的class_name字段設(shè)置為非空約束以及唯一性約束,就是可以為空。SQL語(yǔ)句如下

或者


下面跑一下

輸入內(nèi)容如下,可以發(fā)現(xiàn)unique成功了。


unique和primary key的區(qū)別在于,unique是允許為空值的,且可以有多個(gè)。


注意,多個(gè)空值在數(shù)據(jù)庫(kù)中不是相等的概念,它可以是未定義,也可以是什么值都不是。即“空值等于空值”這個(gè)概念是錯(cuò)誤的,這也就不會(huì)和unique1沖突了



未完待續(xù),學(xué)習(xí)進(jìn)度(5/42)

【D1n910】(5/42)學(xué)習(xí)【MySQL數(shù)據(jù)庫(kù)】C++語(yǔ)言程序設(shè)計(jì) - MySQL數(shù)據(jù)庫(kù)的筆記的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
凤阳县| 皋兰县| 沅江市| 偏关县| 阳谷县| 四会市| 驻马店市| 寿宁县| 讷河市| 永新县| 驻马店市| 隆回县| 永仁县| 尼玛县| 瓮安县| 施甸县| 弥勒县| 绥阳县| 乡城县| 宁阳县| 彭泽县| 临泉县| 怀远县| 河津市| 莎车县| 美姑县| 郧西县| 通化市| 城步| 南岸区| 莒南县| 海林市| 扎赉特旗| 囊谦县| 岳池县| 桦甸市| 宣威市| 桐乡市| 岚皋县| 长岛县| 新和县|