1. 程式人生 > >mysql 數據庫服務概述 、 構建MySQL服務器 、 數據庫基本管理 、 MySQL數據類型 、

mysql 數據庫服務概述 、 構建MySQL服務器 、 數據庫基本管理 、 MySQL數據類型 、

int 添加 now() 生產 枚舉類型 linu homework 記錄 安裝操作系統

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 斷開連接

  1. 連接數據庫服務器:
    使用初始密碼登錄數據庫服務器
    修改密碼驗證策略和密碼長度、修改密碼
    使用修改後的密碼登錄
    修改服務的主配置文件使用密碼驗證策略永久生效。

*庫和表都是以文件的形式存儲在數據庫庫目錄下的。

  1. 建庫(文件夾) 查看 創建 刪除 切換
    顯示當前所在的庫
    查看庫裏已有的表
  • 表必須在庫裏
    1. 建表(文件)查看 創建 刪除
      字段

      姓名 性別 班級
      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;

  1. 插入記錄 : 查看 插入 刪除 修改記錄 select * from 庫.表;

insert into studb.stuinfo values("jim","boy","nsd1710");

update 庫.表 set 字段名=值 where 條件;

delete from 庫.表;

  1. 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數據類型 、