java 数据库
1.數(shù)據(jù)的概述
數(shù)據(jù)(data)是事實(shí)或觀察的結(jié)果,是對(duì)客觀事物的邏輯歸納,是用于表示客觀事物的未經(jīng)加工的的原始素材。
數(shù)據(jù)是信息的表現(xiàn)形式和載體,可以是符號(hào)、文字、數(shù)字、語(yǔ)音、圖像、視頻等。數(shù)據(jù)和信息是不可分離的,數(shù)據(jù)是信息的表達(dá),信息是數(shù)據(jù)的內(nèi)涵。數(shù)據(jù)本身沒(méi)有意義,數(shù)據(jù)只有對(duì)實(shí)體行為產(chǎn)生影響時(shí)才成為信息。
數(shù)據(jù)可以是連續(xù)的值,比如聲音、圖像,稱為模擬數(shù)據(jù)。也可以是離散的,如符號(hào)、文字,稱為數(shù)字?jǐn)?shù)據(jù)。
2.數(shù)據(jù)庫(kù)的概述
數(shù)據(jù)庫(kù)(Database)是按照數(shù)據(jù)結(jié)構(gòu)來(lái)組織、存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù),每個(gè)數(shù)據(jù)庫(kù)都有一個(gè)或多個(gè)不同的API用于創(chuàng)建,訪問(wèn),管理,搜索和復(fù)制所保存的數(shù)據(jù)。
我們也可以將數(shù)據(jù)存儲(chǔ)在文件中,但是在文件中讀寫數(shù)據(jù)速度相對(duì)較慢。
所以,現(xiàn)在我們使用關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)來(lái)存儲(chǔ)和管理的大數(shù)據(jù)量。所謂的關(guān)系型數(shù)據(jù)庫(kù),是建立在關(guān)系模型基礎(chǔ)上的數(shù)據(jù)庫(kù),借助于集合代數(shù)等數(shù)學(xué)概念和方法來(lái)處理數(shù)據(jù)庫(kù)中的數(shù)據(jù),是由二維表及其之間的關(guān)系組成的數(shù)據(jù)組織
RDBMS即關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(Relational Database Management System)的特點(diǎn):
1.數(shù)據(jù)以表格的形式出現(xiàn)
2.每行為各種記錄名稱
3.每列為記錄名稱所對(duì)應(yīng)的數(shù)據(jù)域
4.許多的行和列組成一張表單
5.若干的表單組成database簡(jiǎn)單講:數(shù)據(jù)庫(kù)就是存儲(chǔ)和管理數(shù)據(jù)的容器
嚴(yán)格講:數(shù)據(jù)庫(kù)是按照某種數(shù)據(jù)結(jié)構(gòu)對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ), 組織和管理的容器
3.數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)
1.概述:
對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的訪問(wèn): 添, 刪, 改, 查等操作
對(duì)數(shù)據(jù)庫(kù)的維護(hù): 備份, 恢復(fù), 修復(fù)等操作2.常見(jiàn)的數(shù)據(jù)庫(kù)管理系統(tǒng)
MySQL – 免費(fèi), 開(kāi)源的數(shù)據(jù)庫(kù)系統(tǒng), 廣泛應(yīng)用于中小型應(yīng)用
Oracle – 功能齊全, 技術(shù)領(lǐng)先的數(shù)據(jù)庫(kù)系統(tǒng), 主要應(yīng)用于大型企業(yè)數(shù)據(jù)庫(kù)領(lǐng)域
SQL Server – Microsoft的產(chǎn)品, 軟件界面友好, 易學(xué)易用
PostgreSQL – 加州大學(xué)伯克利分校以教學(xué)為目的開(kāi)發(fā)的數(shù)據(jù)庫(kù)系統(tǒng)
DB2 – IBM的產(chǎn)品, 最早使用SQL語(yǔ)言的數(shù)據(jù)庫(kù)系統(tǒng)3.RDBMS 術(shù)語(yǔ)(了解)
數(shù)據(jù)庫(kù):數(shù)據(jù)庫(kù)是一些關(guān)聯(lián)表的集合。
數(shù)據(jù)表:表是數(shù)據(jù)的矩陣。在一個(gè)數(shù)據(jù)庫(kù)中的表看起來(lái)像一個(gè)簡(jiǎn)單的電子表格。
列:一列(數(shù)據(jù)元素) 包含了相同的數(shù)據(jù), 例如郵政編碼的數(shù)據(jù)。
行:一行(=元組,或記錄)是一組相關(guān)的數(shù)據(jù),例如一條用戶訂閱的數(shù)據(jù)。
冗余:存儲(chǔ)兩倍數(shù)據(jù),冗余降低了性能,但提高了數(shù)據(jù)的安全性。
主鍵:主鍵是唯一的。一個(gè)數(shù)據(jù)表中只能包含一個(gè)主鍵。你可以使用主鍵來(lái)查詢數(shù)據(jù)。
外鍵:外鍵用于關(guān)聯(lián)兩個(gè)表。
4.Mysql數(shù)據(jù)庫(kù)
MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典MySQL AB公司開(kāi)發(fā),目前屬于Oracle公司。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi),這樣就增加了速度并提高了靈活性。
特點(diǎn):
MySQL是一個(gè)單進(jìn)程多線程,支持多用戶, 基于客戶端/服務(wù)器的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)
優(yōu)勢(shì):
Mysql是開(kāi)源的,所以你不需要支付額外的費(fèi)用。
Mysql支持大型的數(shù)據(jù)庫(kù)。可以處理?yè)碛猩锨f(wàn)條記錄的大型數(shù)據(jù)庫(kù)。
MySQL使用標(biāo)準(zhǔn)的SQL數(shù)據(jù)語(yǔ)言形式。
Mysql可以允許于多個(gè)系統(tǒng)上,并且支持多種語(yǔ)言。這些編程語(yǔ)言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
Mysql對(duì)PHP有很好的支持,PHP是目前最流行的Web開(kāi)發(fā)語(yǔ)言。
MySQL支持大型數(shù)據(jù)庫(kù),支持5000萬(wàn)條記錄的數(shù)據(jù)倉(cāng)庫(kù),32位系統(tǒng)表文件最大可支持4GB,64位系統(tǒng)支持最大的表文件為8TB。
Mysql是可以定制的,采用了GPL協(xié)議,你可以修改源碼來(lái)開(kāi)發(fā)自己的Mysql系統(tǒng)。(開(kāi)源免費(fèi)、簡(jiǎn)答易用、性能優(yōu)越、功能強(qiáng)大)
5.Mysql簡(jiǎn)單使用
1.常見(jiàn)操作
清楚命令窗口信息 : cls
查看mysql版本信息 mysql -V (大寫的V)
啟動(dòng):net start mysql
停止:net stop mysql
登錄:mysql -u用戶名 -p密碼2.解決不是內(nèi)部命令的問(wèn)題
找到計(jì)算機(jī)——>屬性 高級(jí)系統(tǒng)設(shè)置 ——> 環(huán)境變量——>Path——> 編輯
6.MySql常見(jiàn)修改操作
1.修改命令提示符
1.第一方式 : 登錄時(shí) 通過(guò)傳遞參數(shù)修改, mysql -uroot -proot --prompt 命令提示符名稱 ;
2.二種方式:登陸后使用命令修改: prompt 命令提示符名稱 ;
2.常見(jiàn)的命令提示符的分類
h 服務(wù)器名稱
D 完整的日期
d 當(dāng)前數(shù)據(jù)庫(kù)
u 當(dāng)期用戶
7.MySql常見(jiàn)查詢操作
1,查詢版號(hào) mysql -V select version()
注意 結(jié)尾一定要加上英文狀態(tài)的分號(hào),否則命令不完整
2.查詢當(dāng)前時(shí)間 select now();
3.查詢當(dāng)前用戶 select user();
4.SQL語(yǔ)句規(guī)范
關(guān)鍵字 函數(shù)名全部大寫
數(shù)據(jù)庫(kù)名稱 表名稱 字段名稱 全部小寫
SQL語(yǔ)句必須以分號(hào) ; 結(jié)尾
8.創(chuàng)建數(shù)據(jù)庫(kù)(重要)
1 創(chuàng)建數(shù)據(jù)庫(kù)
Create {DATABASE | SCHEMA } [ IF NOT EXISTS] db_name
[default] character set [ = ] character_name
中括號(hào){}的意思 兩個(gè)中選擇一個(gè)
方括號(hào)[]的意思 可寫可不寫
character_name 編碼格式的名稱
IF NOT EXISTS 忽略錯(cuò)誤信息創(chuàng)建一個(gè)名稱為d1 的數(shù)據(jù)庫(kù)
查詢錯(cuò)誤信息: Show warnings;
創(chuàng)建帶默認(rèn)編碼格式的數(shù)據(jù)庫(kù) create database d2 character set = utf8;
顯示數(shù)據(jù)庫(kù)創(chuàng)建時(shí)候的語(yǔ)句 show create database 數(shù)據(jù)庫(kù)名稱 ;
2 數(shù)據(jù)庫(kù)操作
展示所有的數(shù)據(jù)庫(kù)名稱列表
命令: show databases ;
選中要使用的數(shù)據(jù)庫(kù)
命令: use 數(shù)據(jù)庫(kù)名稱
3.展示數(shù)據(jù)庫(kù)中所有數(shù)據(jù)表
命令:show tables ;
4 展示表的屬性信息 主鍵信息 是否為空等信息
命令:show columns form 表名稱;
5.查詢表的索引信息
命令:Show index from user;
6.刪除數(shù)據(jù)庫(kù)
語(yǔ)法結(jié)構(gòu) : Drop database [ IF exists ] db_name(數(shù)據(jù)庫(kù)名稱);
7.修改數(shù)據(jù)庫(kù)編碼格式
需求 :創(chuàng)建里一個(gè)gbk編碼格式的數(shù)據(jù)庫(kù),發(fā)現(xiàn)可能要存儲(chǔ)中文的數(shù)據(jù),
第一種方式: 刪除數(shù)據(jù)庫(kù)重新創(chuàng)建
第二種方式: 直接修改編碼格式
命令: alter database數(shù)據(jù)庫(kù)名稱 character set utf8
8.修改 mysql 用戶密碼 使用update的方式直接修改
第一步 登錄
命令: musql -uroot -proot
第二步 選中數(shù)據(jù)庫(kù) mysql
命令:use mysql
第三步 更新密碼
命令:update user set password = password( ‘新密碼’) where user= ’root ’;
第四步 刷新
命令:flush privileges;
第五步 重啟mysql
總結(jié)
- 上一篇: 【H264】码流结构详解
- 下一篇: 在电脑上运行手机APP的4种方法如何在电