您好,登錄后才能下訂單哦!
學(xué)習(xí)掌握myslq數(shù)據(jù)庫(kù)的基礎(chǔ)
Linux基本的使用掌握
LINUX系統(tǒng)常用服務(wù)使用
++++++++++++++++++++++++
數(shù)據(jù)庫(kù)管理:
搭建數(shù)據(jù)庫(kù)服務(wù)器
管理數(shù)據(jù)庫(kù)服務(wù)器
++++++++++++++++++++++
一、搭建數(shù)據(jù)庫(kù)服務(wù)器
1.1 在IP地址是 192.168.4.11主機(jī)上部署數(shù)據(jù)庫(kù)服務(wù)。
確定使用的服務(wù)器(考慮因素): cpu 內(nèi)存 硬盤(存儲(chǔ))
DELL HP 聯(lián)想 華為
安裝操作系統(tǒng): Windows Unix Linux
Redhat7
安裝提供數(shù)據(jù)庫(kù)服務(wù)的軟件包:
關(guān)系型數(shù)據(jù)庫(kù)服務(wù)軟件(RDBMS):
Oracle MySQL DB2 SQL Server
按照規(guī)定的結(jié)果存儲(chǔ)數(shù)據(jù),并且數(shù)據(jù)之間可以做關(guān)聯(lián)操作
非關(guān)系行數(shù)據(jù)庫(kù)軟件(NoSQL)
redis mongodb
key values
包的來(lái)源? 官網(wǎng)下載 系統(tǒng)安裝光盤
封包類型? rpm 源碼包
是否跨平臺(tái)?
數(shù)據(jù)庫(kù)在生產(chǎn)環(huán)境應(yīng)用:LAMP LNMP
購(gòu)物網(wǎng)站 游戲網(wǎng)站 論壇網(wǎng)站 金融網(wǎng)站
裝包 MySQL
rpm -qa | grep -i mysql
修改配置文件
#ls /etc/my.cnf
啟動(dòng)服務(wù)
#systemctl start mysqld
查看服務(wù)運(yùn)行狀態(tài)
#systemctl status mysqld
#ps -C mysqld
#netstat -utnalp | grep :3306
查看初始安裝完數(shù)據(jù)庫(kù)時(shí)的初始密碼:
grep password /var/log/mysqld.log
使用初始密碼登錄并重置登錄密碼
mysql -hlocalhost -uroot -p密碼
使用密碼驗(yàn)證策略永久生效。
set global validate_password_policy=0;
#修改密碼默認(rèn)等級(jí)為0
#0為長(zhǎng)度 , 1為字母長(zhǎng)度符號(hào),2為字母長(zhǎng)度符號(hào),字典文件
set global validate_password_length=6;
#修改密碼默認(rèn)長(zhǎng)度要求為6
alter user root@"localhost" identified by '123456';
#修改密碼
之后quit;退出就可以使用新的密碼登陸了
命令行指令為臨時(shí)有效,將命令寫入配置文件/etc/my.cnf永久生效
寫入完成后重啟服務(wù)即可生效
在/etc/my.sql中的[mysql]下加入
set global validate_password_length=6;
alter user root@"localhost" identified by '123456';
####################################################
名詞解釋
DB,DataBase
數(shù)據(jù)庫(kù),依照某種數(shù)據(jù)模型進(jìn)行組織并存放到存儲(chǔ)器的數(shù)據(jù)集合
DBMS,DataBase Management System
數(shù)據(jù)庫(kù)管理系統(tǒng),用來(lái)操作和管理數(shù)據(jù)庫(kù)的大型服務(wù)器軟件
DBS, DataBase System
帶有數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)管理系統(tǒng)的服務(wù)器
####################################################
sql命令的分類
DDL 數(shù)據(jù)定義語(yǔ)言
(create alter drop)
DML 數(shù)據(jù)操作語(yǔ)言
(insert update delete)
DCL 數(shù)據(jù)控制語(yǔ)言
(grant revoke)
DTL 數(shù)據(jù)事物語(yǔ)言
(commit rollback savepoint)
####################################################
使用sql命令管理數(shù)據(jù)庫(kù):
把數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)服務(wù)器上的過(guò)程?
1 連接數(shù)據(jù)庫(kù)服務(wù)器
客戶端自己提供連接工具(圖形 命令行)
mysql>
2 創(chuàng)建庫(kù) (文件夾)
數(shù)據(jù)庫(kù)名的命名規(guī)則?
創(chuàng)建庫(kù) create database 庫(kù)名;
查看已有庫(kù) show databases;
刪除庫(kù) drop database 庫(kù)名 ;
切換庫(kù) use 庫(kù)名;
查看庫(kù)里已有的表 show tables;
查看當(dāng)前所在的庫(kù) select database();
3 建表 (文件)
create table 庫(kù)名.表名(
字段名 類型(寬度) 約束條件,
字段名 類型(寬度) 約束條件,
...
....
);
create table gamedb.stu(
name char(10),
age int
);
查看表結(jié)構(gòu) desc 庫(kù)名.表名;
插入表記錄
insert into 庫(kù)名.表名 values(值列表);
insert into gamedb.stu values("jim",21),("tom",29);
查看表記錄
select * from 庫(kù)名.表名;
刪除表記錄
delete from 庫(kù)名.表名;
刪除
drop table 庫(kù)名.表名;
+++++++++++++++++++++++++++++++++
mysql數(shù)據(jù)類型
支持的數(shù)據(jù)類型有那些?
數(shù)值類型 : 整型 、浮點(diǎn)型
整型:根據(jù)存儲(chǔ)數(shù)值的范圍整型類型的又分為:
類型 tinyint smallintmediumintintbigint
用途 微小 小 中 大 特大
大小 1字節(jié) 2字節(jié) 3字節(jié) 4字節(jié) 8字節(jié)
分為有符號(hào)無(wú)符號(hào),范圍分別為:
有符號(hào) -128~27 -32768~2767 -2^23~2^23-1 -2^31~2^31-1 -2^63~2^63-1
無(wú)符號(hào) 0~255 0~65535 0~2^24-1 0~2^32-1 0~2^64-1
創(chuàng)建時(shí)使用 unsigned 修飾時(shí),對(duì)應(yīng)的字段只保存正數(shù)
寬度僅是顯示寬度,存儲(chǔ)數(shù)值的大小由類型決定
使用 zerofill 時(shí),填0代替空格補(bǔ)位
#例如: age int(3)
insert in to a values(3)
數(shù)據(jù)庫(kù)顯示為 003
數(shù)值超出范圍時(shí),報(bào)錯(cuò)
浮點(diǎn)型:根據(jù)存儲(chǔ)的范圍分為單精度和雙精度:
單精度 float(n,m)4字節(jié)
雙精度 double(n,m)8字節(jié)
#n表示總位數(shù),m表示小數(shù)位的位數(shù)
#例如:float(5,2) 最大為999.99最小為-999.99
數(shù)值類型的寬度是顯示寬度不能夠限制給字段的賦值的大小,大小由字段類型決定。
pay float(5,2)
xxx.xx的范圍
999.99
0.00
-999.99
++++++++++++++++++++++++++++++
字符型:
定長(zhǎng): char(字符數(shù))
#最大長(zhǎng)度255字符,不夠指定字符數(shù)時(shí)在右邊用空格補(bǔ)齊,字符數(shù)斷超出時(shí),無(wú)法寫入數(shù)據(jù)。
變長(zhǎng):varchar
#按數(shù)據(jù)實(shí)際大小分配存儲(chǔ)空間,字符數(shù)斷超出時(shí),無(wú)法寫入數(shù)據(jù)。
大文本類型:text/blob
#字符數(shù)大于65535存儲(chǔ)時(shí)使用。
實(shí)際生產(chǎn)環(huán)境中使用 char 的會(huì)相對(duì)較多,因?yàn)?varchar 會(huì)占用一部分CPU資源來(lái)計(jì)算存儲(chǔ)大小
日期時(shí)間類型:
年 year YYYY 2017
日期 date YYYYMMDD 20171220
時(shí)間 time HHMMSS 155145
日期時(shí)間 :
datetime YYYYMMDDHHMMSS
timestamp YYYYMMDDHHMMSS
datetime 當(dāng)沒(méi)有為他賦值時(shí),會(huì)顯示為空
timestamp 當(dāng)沒(méi)有為他賦值時(shí),會(huì)使用系統(tǒng)當(dāng)前時(shí)間
now()
#當(dāng)前系統(tǒng)的時(shí)間
year()
#獲取數(shù)據(jù)中的年
day()
#獲取數(shù)據(jù)中的天
date()
#獲取數(shù)據(jù)中的日期
time()
#獲取數(shù)據(jù)中的時(shí)間
枚舉類型:字段的值只能在列舉的范圍內(nèi)選擇
字段名 enum(值列表) 單選
字段名 set(值列表) 多選
設(shè)置字段約束條件:作用限制如何給字段賦值。
Null 是否允許為空 不允許則在類型后面跟NOT Null
Default 設(shè)置默認(rèn)值,缺省為NULL 類型后面跟default
+++++++++++++++++++++++++
修改表結(jié)構(gòu)
mysql> alter table 表名 執(zhí)行動(dòng)作;
執(zhí)行動(dòng)作:
add 字段名 類型(寬度) 約束條件,
#添加新字段,默認(rèn)在最后。
add 字段名 類型(寬度) 約束條件 first;
#所有字段的前面
add 字段名 類型(寬度) 約束條件 after 字段名;
#在什么字段后面添加
alter table drop 字段名;
#刪除字段
alter table modify 字段 類型(寬度) 約束條件
#修改字段類型
alter table change 原字段名 新字段名 類型(寬度) 約束條件
#修改字段名
alter table 原表名 rename 新表名;
#修改表名
刪除字段
drop 字段名;
修改字段類型
modify 字段 類型( 寬度) 約束條件;
修改字段名
change 源字段 新字段 類型( 寬度) 約束條件;
修改表名
alter table 源表名 rename 新表名;
修改表結(jié)構(gòu)
+++++++++++++++++++++++++++++
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。