數(shù)據(jù)庫(kù):
非關(guān)系型:mongodb--json,noSql;
有關(guān)系型oracle ,mysql
關(guān)系---類似一張表,項(xiàng)目中所涉及的實(shí)體,往往看做一張表,如成績(jī)管理系統(tǒng)中,學(xué)生,課程,成績(jī),管理員,也可以實(shí)體與實(shí)體之間的聯(lián)系頁(yè)數(shù)一張表;
創(chuàng)建數(shù)據(jù)庫(kù)表,需要對(duì)業(yè)務(wù)非常熟悉,--通過(guò)產(chǎn)品原型[axure,在線墨刀]以及產(chǎn)品經(jīng)理溝通,
表(table):有行和列構(gòu)成;
記錄(record行):表中的一行;
字段(filed列):一個(gè)字段則是表中的一列即某個(gè)實(shí)體的一個(gè)屬性;如學(xué)生表中有一列存儲(chǔ)姓名,姓名這是學(xué)生的一個(gè)屬性;
數(shù)據(jù)庫(kù)服務(wù)器[database server]:
- 安裝了數(shù)據(jù)庫(kù)管理系統(tǒng)的計(jì)算機(jī),可以稱為數(shù)據(jù)庫(kù)服務(wù)器,用于存放數(shù)據(jù)庫(kù),
數(shù)據(jù)庫(kù)服務(wù)器可以與web服務(wù)器放置在不同的服務(wù)器上;
在數(shù)據(jù)庫(kù)服務(wù)器上可以創(chuàng)建n個(gè)數(shù)據(jù)庫(kù),往往一個(gè)項(xiàng)目對(duì)應(yīng)一個(gè)數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)[database]:
- 數(shù)據(jù)庫(kù)是用于存放數(shù)據(jù)表--通常某個(gè)項(xiàng)目所用的數(shù)據(jù)表都會(huì)存在一個(gè)數(shù)據(jù)庫(kù);
操作mysql
安裝--啟動(dòng)服務(wù)--管理mysql[通過(guò)dos下管理,軟件工具:Navicat,web管理方式:phpmyadmin]
在cmd窗口下管理mysql
添加環(huán)境變量
電腦--屬性--高級(jí)系統(tǒng)設(shè)置--環(huán)境變量--PATH 添加路徑,(;號(hào)加上路徑‘D:\phpStudy\MySQL\bin’[mysql.exe所在路徑])
進(jìn)入數(shù)據(jù)庫(kù):mysql -u數(shù)據(jù)庫(kù)賬號(hào) -p密碼 -h數(shù)據(jù)庫(kù)服務(wù)器ip或域名;[本地可以省略-h]
el:mysql -uroot -proot;[u是參數(shù),root是賬號(hào),默認(rèn)密碼:root]
操作數(shù)據(jù)庫(kù)相關(guān)命令;
show databases;:查看所有的數(shù)據(jù)庫(kù);
show databases like 'uc_%;'//查看所有一uc_ka開(kāi)頭的數(shù)據(jù)庫(kù),%代表任意0個(gè)或者多個(gè)字符
show databases like '___';//查看所有數(shù)據(jù)庫(kù)名是4個(gè)字符的,_代表任意一個(gè)字符
show databases like '%t';//查看所有數(shù)據(jù)庫(kù)名以t結(jié)束
``use mysql--選擇當(dāng)前數(shù)據(jù)庫(kù),[use 數(shù)據(jù)庫(kù)名];show tables;----查看當(dāng)前數(shù)據(jù)庫(kù)中所有表;create database 數(shù)據(jù)庫(kù)名稱----創(chuàng)建數(shù)據(jù)庫(kù)drop database 數(shù)據(jù)庫(kù)名----刪除數(shù)據(jù)庫(kù) [請(qǐng)慎重,注意內(nèi)置的mysql數(shù)據(jù)庫(kù)不要?jiǎng)h除]delimiter $設(shè)置結(jié)束標(biāo)志為$;status查看數(shù)據(jù)庫(kù)的所有信息;【版本,當(dāng)前數(shù)據(jù)庫(kù)端口,用戶等信息】select * from 表名---查看指定表中的所有記錄,*代表所有列,‘select * from user’select host,user,password from user;查看指定字段的所有記錄//select 字段名1,字段名n from 表名----查看指定表中的指定字段所有記錄update 表名 set 字段名n=值 [where 條件]update user set password=password('123456') where user='root' and host='localhost'flush privileges;更新之后刷新數(shù)據(jù);show create table 表名;`查看創(chuàng)建表的sql語(yǔ)句;
mysql 中列數(shù)據(jù)類型: ? 數(shù)據(jù)類型 可以查看此數(shù)據(jù)類型的描述;? char;
字符串:
- char(len)--固定字符串長(zhǎng)度,0-255;字段名name char(10)//字段名name的長(zhǎng)度最大為10位
varchar(len)--變長(zhǎng)字符串長(zhǎng)度,0-65535字節(jié);分配的空間:是實(shí)際存儲(chǔ)的大小,在加上一個(gè)固定長(zhǎng)度,數(shù)據(jù)比較大,性能就比較差;
enum('值1','值2')--枚舉類型,有預(yù)選值,只能在值列表中任選一個(gè);//sex enum('男','女');
set('值1','值2')--集合類型,在值列表中選一個(gè)或多個(gè);
text--變長(zhǎng)文本型,存儲(chǔ)文章內(nèi)容,商品介紹等大段文本;0-65535字節(jié)
blob--變長(zhǎng)文本型,用于存儲(chǔ)二進(jìn)制文本,比如圖片內(nèi)容,多媒體廣告; 0-65535字節(jié)
tinytext--變長(zhǎng)文本型;0-255
mediumtext----變長(zhǎng)文本型; 大概64Mb 0-16777215;
longtext----變長(zhǎng)文本型; 大概4gb 0-16777215;
tinyblob--變長(zhǎng)文本型;用于存儲(chǔ)二進(jìn)制文本;0-255
mediumblob---變長(zhǎng)文本型; 用于存儲(chǔ)二進(jìn)制文本;大概64Mb 0-16777215;
longblob---變長(zhǎng)文本型; 用于存儲(chǔ)二進(jìn)制文本;大概4gb 0-16777215;
在mysql中創(chuàng)建表結(jié)構(gòu)的SQL語(yǔ)句:
create table 表名(
字段名1 數(shù)據(jù)類型 屬性列表,
字段名2 數(shù)據(jù)類型 屬性列表,
字段名n 數(shù)據(jù)類型 屬性列表
)engine=表類型 default charset=編碼;
show create table 表名; 查看創(chuàng)建表結(jié)構(gòu)的sql語(yǔ)句
數(shù)子類型:
整型 有符號(hào):signed 無(wú)符號(hào):unsigned
tinyint(M)--占1個(gè)字節(jié);儲(chǔ)存數(shù)據(jù)范圍 1字節(jié)=8bit;有符號(hào)-128--127;無(wú)符號(hào):0-255;
smallint(M) --占2個(gè)字節(jié);儲(chǔ)存數(shù)據(jù)范圍;有符號(hào);-32768-32767(-215-215-1);無(wú)符號(hào):0-65535(0-2^16-1);
mediumint(M)-- --占3個(gè)字節(jié);儲(chǔ)存數(shù)據(jù)范圍;有符號(hào);(-223-223-1);無(wú)符號(hào):(0-2^24-1);
int(M)-- --占4個(gè)字節(jié);儲(chǔ)存數(shù)據(jù)范圍;有符號(hào);(-231-231-1);無(wú)符號(hào):(0-2^32-1);
bigint(M)-- --占8個(gè)字節(jié);儲(chǔ)存數(shù)據(jù)范圍;有符號(hào);(-263-263-1);無(wú)符號(hào):(0-2^64-1);
整型數(shù)據(jù)類型的小括號(hào)中M--指的是顯示位數(shù),不是存儲(chǔ)長(zhǎng)度,以0填充時(shí),查詢位數(shù)不足時(shí)就以0填充浮點(diǎn)型
float(m,n);單精度浮點(diǎn)數(shù)--定長(zhǎng),4個(gè)字節(jié),四舍五入;float(3,1) 范圍:-99.9-99.9
double(m,n);雙精度浮點(diǎn)數(shù)--定長(zhǎng),8個(gè)字節(jié),四舍五入;
decimal(m,n);不定長(zhǎng)浮點(diǎn)數(shù),實(shí)際所占空間大小+1;四舍五入;
m--數(shù)字總位數(shù),n--小數(shù)位數(shù)日期
date yyyy-mm-dd ;年月日
datetime :yyyy-mm-dd hh:ii:ss 年月日,時(shí)分秒;
year yyyy 年;
timestamp 時(shí)間戳 yyyymmddhhiiss
在window的 dos界面下要正常顯示,要更改客戶端編碼:set names gbk;
修改hosts //C:\Windows\System32\drivers\etc
如果忘記了數(shù)據(jù)庫(kù)帳號(hào)與密碼怎么辦?
1.停止數(shù)據(jù)庫(kù)服務(wù)器
2.mysqld --skip-grant-tables
3.找到mysql安裝目錄下的bin文件夾,再找到mysql.exe,雙擊打開(kāi)dos窗口
4.use mysql
5.update user set password=password('xx') where user='' and host=''
6.flush privileges;
7.結(jié)束掉mysqld.exe進(jìn)程
8.重啟數(shù)據(jù)庫(kù)服務(wù)器