您好,登錄后才能下訂單哦!
mysql數(shù)據(jù)庫管理 day01
相關(guān)概念問題
數(shù)據(jù)庫介紹? 存儲數(shù)據(jù)的倉庫
數(shù)據(jù)庫服務(wù)都那些公司在使用?
購物網(wǎng)站 游戲網(wǎng)站 金融網(wǎng)站
數(shù)據(jù)服務(wù)存儲的是什么數(shù)據(jù)?
帳號信息 對應(yīng)的數(shù)據(jù)信息
提供數(shù)據(jù)庫服務(wù)的軟件有那些?
開源軟件 mysql 、 mongodb 、 redis
商業(yè)軟件 oracle 、 db2 、 SQL SERVER
軟件是否跨平臺? Linux Unix Windows
軟件包的來源: 官網(wǎng)下載 使用操作系統(tǒng)安裝光盤自帶軟件包
mysql軟件介紹? mysql mariadb
關(guān)系型數(shù)據(jù)型軟件: 要按照一定組織結(jié)構(gòu)存儲數(shù)據(jù),并且數(shù)據(jù)和數(shù)據(jù)之間可以互相關(guān)聯(lián)操作。
跨平臺 Linux Unix Windows
可移植性強
支持多種語言Python/Java/Perl/PHP
生產(chǎn)環(huán)境中,數(shù)據(jù)服務(wù)和網(wǎng)站服務(wù)一起使用 構(gòu)建網(wǎng)站運行平臺
LNMP LAMP WNMP WAMP
mysql軟件包的封包類型: rpm包 源碼包 可以自定義安裝信息
非關(guān)系型數(shù)據(jù)庫軟件(NoSQL)mongodb 、
redis 、 memcached
1 搭建mysql數(shù)據(jù)庫服務(wù)器
2 mysql服務(wù)基本使用
3 mysql數(shù)據(jù)類型
一、搭建mysql數(shù)據(jù)庫服務(wù)器 192.168.4.51
裝包
修改配置文件
啟動服務(wù)
查看服務(wù)進程和端口號
服務(wù)名 mysqld
服務(wù)的主配置文件 /etc/my.cnf
數(shù)據(jù)目錄 /var/lib/mysql
日志文件 /var/log/mysqld.log
二、數(shù)據(jù)庫服務(wù)的基本使用
2.1 使用初始密碼在本機連接數(shù)據(jù)庫服務(wù)
mysql [-h數(shù)據(jù)庫服務(wù)器ip地址 -u用戶名 -p'密碼'
2.2 重置本機連接密碼 mysql> alter user
root@"localhost" identified by "密碼";
2.3 把數(shù)據(jù)存儲到數(shù)據(jù)庫服務(wù)器上的過程?
2.4 sql命令分類? DDL DML DTL DCL
2.5 sql命令使用規(guī)則?
2.6 管理數(shù)據(jù)庫的sql命令 及 庫名的命名規(guī)則
2.7 管理表的 sql命令
建表的語法格式?
create table 庫名.表名(
字段名 類型(寬度) 約束條件,
字段名 類型(寬度) 約束條件,
.....
);
2.8 管理記錄的sql命令
查看
插入
更新
刪除
+++++++++++++++++++++++++
三、mysql數(shù)據(jù)類型
3.1 數(shù)值類型 (成績 年齡 工資 )
每種類型的存儲數(shù)據(jù)的范圍都是固定
整數(shù)類型 (只能存儲整數(shù))
微小整型 小整型 中整型 大整型 極大整型
tinyint smallint MEDIUMINT INT bigint
*****unsigned 使用數(shù)值類型有符號的范圍。
浮點型 (存儲小數(shù))
float(M,N)
double(M,N)
M 設(shè)置總位數(shù)
N 設(shè)置小數(shù)位位數(shù)
正數(shù).小數(shù) 總位數(shù) 整數(shù)位 小數(shù)位
18088.88 7 5 2
3.2 字符類型 (商品名稱 籍貫 姓名 生產(chǎn)廠家)
char (255) 固定長度字符類型
varchar (65532) 變長字符類型
大文本類型 (音頻文件 視頻文件 圖片文件)
blob
text
3.3 日期時間類型
(注冊時間 約會時間 開會時間 入職時間 生日)
年 year YYYY 2018
日期 date YYYYMMDD 20180423
時間 time HHMMSS 161958
日期時間 datetime/timestamp
YYYYMMDDHHMMSS 20180423161958
獲取日期時間給對應(yīng)的日期時間類型的字段賦值
獲取日期時間函數(shù)
now() 獲取當(dāng)期系統(tǒng)的時間
year(日期時間)獲取指定時間中的年
month(日期時間)獲取指定時間中的月
date(日期時間)獲取指定時間中的日期
day(日期時間)獲取指定時間中的號(天)
time(日期時間)獲取指定時間中的時間
可以使用2位數(shù)字給year類型的字段賦值,規(guī)律如下:
01-69 20XX
70-99 19XX
3.4 枚舉類型(插入記錄 時 記錄的值 在列舉的范圍內(nèi)選擇)
性別 愛好 專業(yè)
enum(值列表) 單選
set(值列表) 多選
數(shù)據(jù)類型的關(guān)鍵字 存儲范圍 賦值方式 合理使用數(shù)據(jù)類型
**劃重點
數(shù)值類型的寬度 是顯示寬度,不能夠給字段賦值的大小。字段的值由類型決
定。
mysql-day02
一 、字段約束條件
1.1 作用: 限制如何給字段賦值的
1.2 包括內(nèi)容有: NULL Key Default Extra
NULL 是否允許給字段賦null值
null 默認(rèn)允許賦null值
not null 不允許賦null值
key 鍵值類型:普通索引 唯一索引 全文索引 主鍵 外 鍵
Default 默認(rèn)值 作用:當(dāng)不被字段賦值時,使用默認(rèn)值給字段賦值
不設(shè)置默認(rèn)值是 系統(tǒng)定義的是null
default 值
Extra 額外設(shè)置 ,字段是否設(shè)置為自動增加,默認(rèn)沒有自動增長功能
二、修改表結(jié)構(gòu)
2.1 修改表結(jié)構(gòu)的命令
mysql> alter table 庫.表 執(zhí)行動作 ;
添加新字段 add 字段名 類型(寬度) [ 約束條件]
刪除已有字段 drop 字段名
修改已有字段的類型寬度及約束條件
*劃重點** 修改時不能與已經(jīng)存儲的數(shù)據(jù)矛盾的話不允許修改
modify 字段名 類型(寬度) [ 約束條件]
修改字段名
change 源字段名 新字段名 類型(寬度) [ 約束條件]
修改表名
alter table 源表名 rename [to] 新表名;
三、mysql鍵值
設(shè)置在表中字段上的,作用是約束如何給字段賦值。同時會給字段做索引。
索引介紹: 樹狀目錄結(jié)構(gòu) 類似與書的“目錄”
優(yōu)點:加快查詢表記錄的速度
缺點 : 會減慢編輯表記錄的速度,且占用磁盤的物理存儲空間
(delete insert update)
字典 總頁面數(shù) 1000頁
目錄信息
1------100頁 記錄目錄信息
101---1000頁 正文
查字典的方法
筆畫
部首
拼音
修正內(nèi)容時,修改內(nèi)容 添加內(nèi)容 刪除內(nèi)容
stuinfo /var/lib/mysql/db2/stuinfo.*
name age home class
DBA
3.1 鍵值:普通索引 唯一索引 全文索引 主鍵 外 鍵
3.1.1普通索引的使用(index)
使用規(guī)則?
查看
desc 表名;
show index from 表名;
Table: t2
Key_name: aaa
Column_name: age
Index_type: BTREE (二叉樹)
創(chuàng)建
在已有表創(chuàng)建
create index 索引名 on 表名(字段名);
建表是時創(chuàng)建
create table 表名(
字段列表,
index(字段名),
index(字段名),
);
刪除
drop index 索引名 on 表名;
+++++++++++++++++++++++++++++++
3.1.2主鍵 primary key
(普通主鍵 復(fù)合主鍵 主鍵+auto_increment)
使用規(guī)則?
查看 desc 表; key ----> PRI
創(chuàng)建
在已有表創(chuàng)建 alter table 表 add primary key(字段名);
建表時創(chuàng)建
create table 表名(
字段列表,
primary key(字段名)
);
創(chuàng)建復(fù)合主鍵的使用:多個字段一起做主鍵,插入記錄時,只要做主鍵字段的值不同時重復(fù),就可以插入記錄。(必須一起創(chuàng)建一起刪除,多個字段的值不允許同時相同)
desc mysql.db;
desc mysql.user;
主鍵primary key 通常和auto_increment連用。
讓字段的值自動增長 i++
數(shù)值類型 i=i+1
刪除主鍵 mysql> alter table 表 drop primary key;
++++++++++++++++++++++++++++++++++++++
3.1.3外 鍵(作用 限制如何給字段賦值的)
給當(dāng)前表中字段賦值時,值只能在指定(其他)表的指定字段值的范圍里選擇。
使用規(guī)則?
創(chuàng)建外鍵 foreign key 的命令格式:
create table 表(
字段名列表,
foreign key(字段名) references 表名(字段名)
on update cascade on delete cascade
)engine=innodb;
繳費表
use studb;
create table jfb(
jfb_id int(2) zerofill primary key auto_increment,
name char(15),
pay float(7,2)
)engine=innodb;
insert into jfb (name,pay)values("bob",26800);
insert into jfb (name,pay)values("tom",26000);
select * from jfb;
班級表
create table bjb(
bjb_id int(2) zerofill,
name char(15),
foreign key(bjb_id) references jfb(jfb_id)
on update cascade on delete cascade
)engine=innodb;
insert into bjb values(3,"lucy");
insert into bjb values(1,"bzengjiaob");
insert into bjb values(2,"tom");
select * from bjb;
mysql> update jfb set jfb_id=9 where name="bob";
mysql> delete from jfb where jfb_id=2;
select from jfb;
select from bjb;
查看 mysql> show create table 表名;
刪除外鍵
alter table 表名 drop foreign key 外鍵名;
alter table bjb drop foreign key bjb_ibfk_1;
mysql> delete from jfb where jfb_id=02; 他有同步的作用 班級表也沒有這一條
mysql> update jfb set name="xixi"where jfb_id=05; 修改繳費表ID是05 把他的名字改成xixi
在已有表創(chuàng)建
mysql> delete from bjb;
mysql> alter table bjb add foreign key(bjb_id) references jfb
(jfb_id) on update cascade on delete cascade;
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。