標籤:mss 預設 class mysql叢集 連接埠號碼 切換 身高 實值型別 sql
08:30------09:00
09:00------12:00
ftp伺服器:172.40.50.117 7000
軟體 softpackage/mysql
筆記 nsd1710/課程名稱
練習 homework
龐麗靜 靜靜老師
第四階段:
資料庫管理 7天 DBA
安全與監控 6天 IDC監控
叢集與儲存 5天
+++++++++++++++++++++
資料庫管理:
一 搭資料庫伺服器
二 MySQL資料庫服務的基本管理
三 資料管理
四 使用者授權與許可權撤銷
五 資料備份與恢複
六 MySQL主從同步
七 資料讀寫分離
八 MySQL服務調優
九 部署MySQL叢集
++++++++++++++++++++++++++++
day01:
一 搭資料庫伺服器 : 1 搭建MySQL資料服務器 2 基本使用
二 MySQL資料類型 *
三 修改表結構
一 搭資料庫伺服器 192.168.4.51
1.1 購買伺服器 DELL HP 聯想(IBM)
CPU 記憶體 磁碟
1.2 安裝作業系統 Windows Linux Unix
rhel7
rhel6
1.3 安裝提供資料庫服務的軟體
資料庫服務軟體有哪些?
軟體是否跨平台
軟體是否開源 商業軟體
軟體的來源
軟體的封包類型 rpm 源碼
1.4 安裝mysql軟體
1.4.1 卸載系統內建的mariadb
1.4.2 安裝MySQL
1.4.3 啟動服務:
服務名稱 進程名稱 連接埠號碼 傳輸協議 進程所有者 進程所屬組 資料庫目錄
1.5 哪些公司在使用資料庫服務
金融機構 購物網站 遊戲網站 論壇網站
1.6 網站服務和資料庫服務一起使用
LAMP LNMP
+++++++++++++++++++++++++++++++++++++++++++
1.7 把資料存放區到資料庫伺服器上過程
1 串連資料庫伺服器
2 建庫
3 建表
4 插入記錄
5 中斷連線
- 串連資料庫伺服器:
使用初始密碼登入資料庫伺服器
修改密碼驗證策略和密碼長度、修改密碼
使用修改後的密碼登入
修改服務的主設定檔使用密碼驗證策略永久生效。
*庫和表都是以檔案的形式儲存在資料庫庫目錄下的。
- 建庫(檔案夾) 查看 建立 刪除 切換
顯示當前所在的庫
查看庫裡已有的表
- 表必須在庫裡
- 建表(檔案)查看 建立 刪除
欄位
列
姓名 性別 班級
jim boy nsd1710 行 記錄
tom boy nsd1710
商品名稱 價格 生產廠家 個數 尺寸
create table 庫名.表名(
欄位名 類型(寬度) 約束條件,
欄位名 類型(寬度) 約束條件,
.....
);
create database studb;
create table studb.stuinfo(
name char(15),
sex char(4),
class char(7)
);
查看錶結構 desc studb.stuinfo;
- 插入記錄 : 查看 插入 刪除 修改記錄 select * from 庫.表;
insert into studb.stuinfo values("jim","boy","nsd1710");
update 庫.表 set 欄位名=值 where 條件;
delete from 庫.表;
- mysql> quit
+++++++++++++++++++++++++++++++++++++++++++++
SQL文法規則?
sql命令分類型: DDL DML DCL DTL
庫名命名規則?
+++++++++++++++++++++++++++++++++++++++++++++
二 MySQL資料類型 *
數實值型別:身高 體重 成績 年齡 工資 unsigned
整數類型:微小整型 小整型 中整型 大整型 極大整型
浮點類型:單精確度 雙精確度
create database db1;
create table db1.t1(level tinyint);
create table db1.t2(level tinyint unsigned);
create table db1.t3(level int unsigned);
整數.小數 總位元
欄位名 類型(n,m)
n 總位元
m 小數位位元
pay double(8,2)
pay float(8,2)
xxxxx.xx
999999.99
-999999.99
create table db1.t4( pay float(5,2), age tinyint unsigned);
insert into db1.t4 values(900.23,27);
mysql>desc mysql.user;
字元類型:姓名 家庭地址 籍貫 公司 部門名稱
固長 char (255) *
變長 varchar (65532)
大文本類型 blob text
create table db1.t6(name char(256) , image blob );
create table db1.t7(
name char(10),
email varchar(30),
pay float(5,2),
age tinyint unsigned
);
insert into db1.t7 values ("bob","[email protected]",999.23,27);
char類型與varchar類型的區別
t1 t2
name name
char(3) varchar(3)
jim jim
ab ab
c c
mysql>desc mysql.user;
數實值型別的寬度與字元類型寬度的區別。數實值型別的寬度是顯示寬度,不能夠控制給欄位賦值的大小,大小由類型。
create table db1.t9(
name char(3),
pay int(3)
);
insert into db1.t9 values ("lucy",1088);
create table db1.t10 (
id int zerofill,
pay int(3) zerofill
);
insert into db1.t10 values (9,9);
insert into db1.t10 values (27,27);
+++++++++++++++++++++++++++++++++++++++++
日期時間類型: 入職時間 註冊時間 約會時間 上課時間 生日
年 year YYYY 2018
日期 date YYYYMMDD 20180117
時間 time HHMMSS 173258
日期時間 datetime / timestamp
YYYYMMDDHHMMSS
create table db1.t12 (
name char(10),
youstar year,
upclass time,
birthday date,
party datetime
);
insert into db1.t12 values ("bob",1995,083000,20181120, 20180214183000);
使用時間函數擷取的時間給欄位賦值。
now() year() date() time() day() month()
insert into db1.t12 values ("lucy",year(20191212),083000,date( now() ), now());
使用2位元字給year類型的欄位賦值。遵循如下規律:
01~69 20XX
70~99 19XX
00 0000
create table db1.t13 (
name char(10),
youstar year
);
insert into db1.t13 values("bob",53);
insert into db1.t13 values("tom",88);
datetime 與 timestamp 區別:
create table db1.t14(
meetting datetime,
party timestamp
)
insert into db1.t14 values(now(),now());
insert into db1.t14(meetting) values(20171222092835);
insert into db1.t14(party) values(20161222092835);
++++++++++++++++++++++++++++++++++++++++++
枚舉類型: 愛好 性別 專業
- 欄位的只能在指定的範圍內選項
欄位名 enmu(值1 ,值2, 值N ) 單選
欄位名 set(值1 ,值2, 值N ) 多選
create table db1.t21(
name char(10),
sex enum("boy","girl"),
likes set("game","music","film","book")
);
insert into db1.t21 values("bob","boy","game,film");
insert into db1.t21 values("tom","man","game,film,it");
insert into db1.t21 values("lucy",2,"game,film,book");
欄位約束條件
作用:限制如何給欄位賦值
包括: 是否允許為空白null 索引值 預設值 額外設定
create table db1.t22(
name char(10) not null,
sex enum("boy","girl") default "boy" ,
age tinyint(2) unsigned not null default 18,
likes set("game","music","film","book") not null default "game,music"
);
desc db1.t22;
insert into t22(name) values("alice");
insert into t22 values("bob","boy",21,"book");
insert into t22(name)values("null","");
insert into t22(name)values(null);
+++++++++++++++++++++++++++++++++++
三 修改表結構
alter table 庫.表 執行動作;
添加新欄位
add 欄位名 類型(寬度);
add 欄位名 類型(寬度) 約束條件;
add 欄位名 類型(寬度) 約束條件 first;
add 欄位名 類型(寬度) 約束條件 after 欄位名;
add 欄位名 類型(寬度),add 欄位名 類型(寬度);
刪除已有欄位
drop 欄位名;
drop 欄位名,drop 欄位名;
修改欄位類型 (修改的類型與欄位儲存的資料衝突,不允許修改)
modify 欄位名 類型(寬度) 約束條件;
修改欄位名
change 源欄位名 新欄位名 類型(寬度) 約束條件;
修改表名 alter table 源表名 rename 新 表名;
alter table db1.t21 add email varchar(30) default "[email protected]";
alter table db1.t21 add stu_id char(9) first;
alter table db1.t21 add age tinyint(2) unsigned not null default 18 after name;
alter table db1.t21 drop age;
alter table db1.t21 modify stu_id char(9) not null;
alter table db1.t21 modify name varchar(10) not null;
alter table db1.t21 modify likes set(‘game‘,‘music‘,‘film‘,‘book‘) after name;
alter table db1.t21 change email mail varchar(30) default "[email protected]";
alter table t21 rename stuinfo;
system ls /var/lib/mysql/db1/stuinfo.*
varchar(15)
學號 班級 姓名 年齡 愛好 性別 出生年份
stu_id class name age like sex s_year
19 book no 1998
game not null
film
mysql 資料庫服務概述 、 構建MySQL伺服器 、 資料庫基本管理 、 MySQL資料類型 、