1在mysql进行定义操作系统_Mysql基础知识一
1.數(shù)據(jù)庫的定義
數(shù)據(jù):描述事物符號記錄。(包括數(shù)字、文字、圖形、圖像、聲音、檔案記錄等)以記錄形式統(tǒng)一的格式進(jìn)行存儲。廣義上的數(shù)據(jù):出現(xiàn)在計算機(jī)內(nèi)部的一切二進(jìn)制數(shù)據(jù)流都為數(shù)據(jù)狹義上的數(shù)據(jù):只是數(shù)字或符號形式記錄的數(shù)據(jù)
2.數(shù)據(jù)層次模型:
數(shù)據(jù)存在文本文件中,采用什么結(jié)構(gòu)組織數(shù)據(jù),稱為數(shù)據(jù)結(jié)構(gòu)模型。
文件系統(tǒng):樹狀模型(層次模型)
層次模型、網(wǎng)狀結(jié)構(gòu)、關(guān)系模型(數(shù)據(jù)組織成二維表,將數(shù)據(jù)組織成二維關(guān)系,類似與excel表,分為行和列)
二維關(guān)系:行(row) 列(column)
表與表的關(guān)系性?(降低數(shù)據(jù)冗余)表與表的約束性
3.數(shù)據(jù)庫的構(gòu)成:
數(shù)據(jù):
表:將不同的記錄(數(shù)據(jù))組織在一起,就形成了表;用于存儲數(shù)據(jù)。 ?(表是存儲數(shù)據(jù)的唯一單元)
庫:表的集合體,是存儲數(shù)據(jù)的倉庫,以一定的組織方式存儲的互相有關(guān)的數(shù)據(jù)。
MySQL可以支持多庫,ORACLE只有一個數(shù)據(jù)庫
4.數(shù)據(jù)庫管理系統(tǒng)(DBMS)
將二維關(guān)系數(shù)據(jù)結(jié)構(gòu)模型規(guī)范得以實現(xiàn),我們稱為數(shù)據(jù)庫管理系統(tǒng)DBMS
遵循三種基本范式才能被稱為關(guān)系型數(shù)據(jù)庫,關(guān)系型數(shù)據(jù)庫管理系統(tǒng)稱為RDBMS
三大范式:
第一范式:在滿足關(guān)系模型基礎(chǔ)之上,任意一列必須是原子的(不可分割)
第二范式:在滿足第一范式的情況下,必須有一列的數(shù)據(jù)可以區(qū)分每一行的數(shù)據(jù)(主鍵)
第三范式:在滿足前兩范式的情況下,在表和表有連接關(guān)系的情況下,如果第一張表依賴第二張表,那么被依賴的表的字段必須是能夠區(qū)別每一行的數(shù)據(jù)的字段(主鍵)
數(shù)據(jù)庫管理系統(tǒng)的分類:
DBMS:數(shù)據(jù)庫管理系統(tǒng)
RDBMS:關(guān)系型數(shù)據(jù)庫管理系統(tǒng)
NOSQL:非關(guān)系型數(shù)據(jù)庫
NEWSQL:新型數(shù)據(jù)庫
關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS)
包括 ?開源解決方案: mysql、mariadb、Percona-server、pgsql ?.....
商業(yè)解決方案: ORACLE、DB2、MS-SQL(SQLSERVER) ?......
基本組成結(jié)構(gòu):磁盤空間管理器、緩沖管理器、文件和存取接口、鎖管理器、事務(wù)管理器、恢復(fù)管理器、SQL引擎
關(guān)系型數(shù)據(jù)庫的事務(wù):ACID
A:原子性
C:一致性
I:隔離性
D:持久性
SQL引擎:傳遞SQL語句進(jìn)行解釋執(zhí)行
數(shù)據(jù)存儲 ??C/S架構(gòu)
S:服務(wù)端,監(jiān)聽于套接字,接受并處理客戶端應(yīng)用請求、
C:客戶端:CLI 命令行字符界面 ??GUI:圖形化處理界面
5.數(shù)據(jù)庫內(nèi)容的部分基本概念
(1):約束:constraint ??向數(shù)據(jù)表提供的數(shù)據(jù)要遵守的限制
完整性約束:表約束和鍵約束
主鍵(primary key):一個或多個字段的組合,填入的數(shù)據(jù)必須在本表中唯一標(biāo)識本行,必須提供數(shù)據(jù),不能為空(not null),一個表只能有一個。
唯一鍵(unique key):一個或多個字段的組合,填入的數(shù)據(jù)必須在本表中唯一標(biāo)識本行,可以為空,一個表可以有多個。
外鍵:一個表中的某字段可填入數(shù)據(jù)取決于另一個表的主鍵已有的數(shù)據(jù)。
(2):索引:將表中的一個或多個字段中的數(shù)據(jù)復(fù)制一份另存,并且此些需要按照特定次序排序存儲。
EG:圖書館找書,沒有了索引,就要用遍歷的方式,有了索引,更方便找到
3():關(guān)系運算:(非常重要,主要運用在數(shù)據(jù)的查詢操作)(非常重要)
選擇:挑選出符合條件的行。
投影:挑選出需要的字段。//select 可以查詢字段
連接:(設(shè)計連表操作的運算)
一.正式學(xué)習(xí)Mysql
(1)如何連接mysql
在客戶端 ??輸入mysql
看到ODBC說明環(huán)境變量已經(jīng)配置好了
選項 ?:
-uUSERNAME: 用戶名 ????默認(rèn)為超級用戶root(Linux)
-hHOST:服務(wù)器主機(jī) ???????默認(rèn)為localhost
-pPASSWORD:用戶的密碼 ?(Linux默認(rèn)為空)
注意:mysql用戶帳號由兩部分組成:’USERNAME’@’HOST’;其中HOST用于此用戶通過哪些遠(yuǎn)程主機(jī)連接mysql服務(wù)。
(2)mysql的基本使用操作 ???格式和基本語句
USE、、、、使用某個數(shù)據(jù)庫(、、、、use是客戶端,可加可不加分號,針對的對象是mySQL
SHOW、、、
顯示庫里面所有的表,顯示所有的庫
SELECT?(查詢表中的數(shù)據(jù))
DESC(查詢表的結(jié)構(gòu)相關(guān)屬性)
二.關(guān)系型數(shù)據(jù)庫常見組件(視圖層的組件)
數(shù)據(jù)庫:database
表 ???:table
行:row
列:colum
索引:index
視圖:view
用戶:user
權(quán)限:privilege
跟程序開發(fā)相關(guān)的(sql引擎一般都支持過程式編程,支持條件判斷、循環(huán)等。調(diào)用sql代碼)
存儲過程:procedure ?????????直接調(diào)用,僅僅做了數(shù)據(jù)加工,不返回結(jié)果。
存儲函數(shù):function ???????????調(diào)用完后有返回結(jié)果的代碼片段
觸發(fā)器:trigger ??????????????也是一片代碼片段,特殊事件發(fā)生,滿足條件觸發(fā)。
事件調(diào)度器:event scheduler ??定期執(zhí)行內(nèi)建任務(wù),完成周期性調(diào)度任務(wù)
SQL語句
DDL:數(shù)據(jù)定義語言 create , drop,alter(針對的組件基本為數(shù)據(jù)庫 ?數(shù)據(jù)表...... )
DML: 數(shù)據(jù)操作語言 INSERT,DELETE,UPDATE,SELECT最重要
DCL:數(shù)據(jù)控制語言 GRANT,REVOKE(授權(quán)和撤銷授權(quán)).....
三.SQL語句的操作:
查看mysql的狀態(tài)和版本 ?????status 相當(dāng)于\s
創(chuàng)建庫 ?CREATE DATABASE [IF NOT EXISTS] ‘DB_NAME’;(只是創(chuàng)建了一個數(shù)據(jù)庫,所以里面是空的)
添加IF NOT EXISTS回避報錯的風(fēng)險
刪除庫 ?DROP DATABASE [IF EXISTS] ‘DB_NAME’;(非常危險,生產(chǎn)環(huán)境不建議使用)//【】可有可無
刪了就沒有回收站,永遠(yuǎn)丟失了
資料一般放在數(shù)據(jù)庫里,像財務(wù)信息,銀行卡號
創(chuàng)建表:CREATE TABLE 表名(字段1 數(shù)據(jù)類型 修飾符,字段2 數(shù)據(jù)類型 修飾符......) [ENGINE=’’]
創(chuàng)建表時候要弄清在哪一個庫里?所以先use 哪個庫
創(chuàng)建表先把它的列給定義好,而且這個表是一張空表,行是添加數(shù)據(jù)上才有的
查看存儲引擎:SHOW ENGINES
刪除表 ?DROP TABLE [IF EXISTS] ‘tbl_name’; ?(也非常危險,謹(jǐn)慎操作)
查詢數(shù)據(jù)?SELECT col1,col2,.... FROM tbl_name;//col1...加投影字段
MySQL(windows版本)命令行的快捷操作鍵
ESC:光標(biāo)刪除至最左側(cè)
F3:上一次命令再操作補(bǔ)全
F7:之前操作過的sql命令列表
exit:退出sql接口(或者quit ??或者?\q
總結(jié)
以上是生活随笔為你收集整理的1在mysql进行定义操作系统_Mysql基础知识一的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: count 有条件 mysql_mysq
- 下一篇: mysql opti_MySQL基础操作