數據庫之初識MySQL(MySQL學習筆記)

初識MySQL

1. 安裝MySQL-5.7.23.0

  • MySQL下載(官網)
    MySQL官網
  • MySQL安裝
    注意:
    1.記住端口號:3306
    2.記住自己設定的密碼
    3.記住服務號(Windows Server Name)
  • MySQL的環境變量配置
    找到安裝的bin目錄
    在這裏插入圖片描述
    在環境變量Path中添加
    在這裏插入圖片描述
    ##2.MySQL實現登錄
    window+R:輸入cmd,接着輸入mysql -h localhost -P 3306 -u root -p;回車後再輸入密碼;輸入exit結束
    在這裏插入圖片描述
    ##3.數據庫當中的數據類型
    (1)整數類型
整數類型 字節 最小值 最大值
TINYINT 1 有符號 -128 無符號 0 有符號 127 無符號 255
SMALLINT 2 有符號 -32768 無符號 0 有符號 32767 無符號 65535
MEDIUMINT 3 有符號 -8388608 無符號 0 有符號 8388607 無符號 1677215
INT / INTEGER 4 有符號 -2147483648 無符號 0 有符號 2147483647 無符號4294967295
BIGINT 8 有符號 -9223372036854775808 無符號 0 有符號 9223372036854775807 無符號 18446744073709551615

(2)浮點數類型

浮點數類型 字節 最小值 最大值
FLOAT 4 ±1.175494351E–38 ±1.175494351E+38
DOUBLE 8 ±2.2250738585072014E–308 ±2.2250738585072014E+308

(3)定點數類型

定點數類型 字節 描述
DEC(M,D),DECIMAL(M,D) M+2 最大取值範圍與DOUBLE相同,給定DECIMAL的有效取值範圍由M和D決定

(4)位類型

位類型 字節 最小值 最大值
BIT(M) 1~8 BIT(1) BIT(64)

(5)日期類型

時間日期 字節 最小值 最大值
DATE 4 1000-01-01 9999-12-31
DATETIME 8 1000-01-01 9999-12-31 23:59:59
TIMESTAMP 4 19700101080001 2038年每個時刻
TIME 3 -838:59:59 838:59:59
YEAR 1 1901 2155

(6)字符串類型

字符串類型 字節 描述及存儲需求
CHAR(M) M M爲0~255之間的數
VARCHAR(M) M爲0~65535之間的整數,值的長度+1個字節
TEXT 允許長度0~65535字節,值得長度+2個字節
TINYTEXT 允許長度0~255字節,值得長度+2個字節
MEDIUMTEXT 允許長度0~167772150字節,值得長度+3個字節
LONGTEXT 允許長度0~4294967295字節,值得長度+4個字節

注意:最常用的是CHAR(M)和VARCHAR(M)
##4.Mysql中的約束
MySQL中的6大約束:

關鍵字 解釋
NOT NULL 約束字段的值不能爲空
DEFAULT 設置字段的默認值
UNIQUE KEY(UK) 約束字段的值是唯一
PRIMARY KEY(PK) 約束字段爲表的主鍵,可以作爲該表記錄的唯一標識
AUTO_INCREMENT 約束字段的值爲自動增長
FOREIGN KEY(FK) 約束字段爲表的外鍵

非空:在我們新增數據的時候 這個字段必須新增的同時有值;
默認:在你沒有給定值得時候 數據庫默認的值
唯一:唯一是指一個字段中所有的值不能重複
主鍵:通過主鍵一定能找到唯一的一條記錄(主鍵包含非空且唯
一這兩種約束)
自動增長: 主鍵數字自動往上遞增1;可以使用自動增長的約束
(1.自動增長約束必須是主鍵而且數據類型是int。2.自動增長的
數字不會回退)
外鍵約束:子表的取值範圍受父表約束;
##5.cmd命令下創建四種表
商品種類表(commoditytype)

字段名 數據類型 說明
ct_id int 商品種類編號,主鍵
ct_name varchar(50) 商品種類名稱非空
create table commoditytype(
->ct_id int(11) primary key,
->ct_name varchar(50) not null
->)default charset=utf8;

商品表(commodity)

字段名 數據類型 說明
c_id int 商品編號,主鍵
c_name varchar(50) 商品名稱,非空
c_madein varchar(50) 商品產地,非空
c_type int 商品種類,外鍵
c_inprice int 商品進價,非空
c_outprice int 商品售價
c_num int 商品庫存,默認100
create table commodity(
-> c_id int(11) primary key,
-> c_name varchar(50) not null,
-> c_madein varchar(50) not null,
-> c_type int(11) not null,
-> c_inprice int(11) not null,
-> c_outprice int(11) ,
-> c_num int(11) default '100',
-> constraint fk_1 foreign key (c_type) references commoditytype (ct_id)
-> )default charset=utf8;

客戶表-customer

字段名 數據類型 說明
cu_id int 客戶編號,主鍵
cu_name varchar(50) 客戶名字,非空
cu_phone varchar(50) 客戶電話,非空
cu_gender int 客戶性別,默認‘1’
cu_address varchar(100) 客戶地址,非空
create table customer(
-> cu_id int(11) primary key,
-> cu_name varchar(50) not null,
-> cu_phone varchar(50) not null,
-> cu_gender int(11) not null default '1',
-> cu_address varchar(100) not null
-> )default charset=utf8;

訂單表-order

字段名 數據類型 說明
o_id int 訂單編號,主鍵,自增長
o_cuid int 客戶編號
o_cid int 商品編號
o_num int 商品數量
create table `order`(
-> o_id int(11) primary key auto_increment,
-> o_cuid int(11) not null,
-> o_cid int(11) not null,
-> o_num int(11) not null,
-> constraint fk_2 foreign key (o_cuid) references customer (cu_id),
-> constraint fk_3 foreign key (o_cid) references commodity (c_id)
-> )default charset=utf8;

注意:order是關鍵字要用``符號
四張表

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章