數(shù)據(jù)庫(kù)MySQL學(xué)習(xí)系列二
創(chuàng)新互聯(lián)建站從2013年成立,先為萬(wàn)寧等服務(wù)建站,萬(wàn)寧等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢(xún)服務(wù)。為萬(wàn)寧企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
一.MYSQL數(shù)據(jù)庫(kù)對(duì)象與應(yīng)用
2.1-MySQL數(shù)據(jù)類(lèi)型
· ×××
· 浮點(diǎn)型
· INT
· SMALLINT
· MEDIUMINT
· BIGINT
type | Storage | Minumun Value | Maximum Value |
(Bytes) | (Signed/Unsigned) | (Signed/Unsigned) | |
TINYINT | 1 | -128 | 127 |
0 | 255 | ||
SMALLINT | 2 | -32768 | 32767 |
0 | 65535 | ||
MEDIUMINT | 3 | -8388608 | 8388607 |
0 | 16777215 | ||
INT | 4 | -2147483648 | 2147483647 |
0 | 4294967295 | ||
BIGINT | 8 | -9223372036854775808 | 9223372036854775807 |
0 | 18446744073709551615 |
int(11) VS int(21) 存儲(chǔ)空間,還是存儲(chǔ)范圍有區(qū)別?
答案是:兩者完全一樣,只是在顯示的時(shí)候補(bǔ)全0的位數(shù)不一樣。
可以通過(guò)下面的例子來(lái)驗(yàn)證:
create table t(aint(11) zerofill, bint(21) zerofill);insert into tvalues (1,1);select * from t;
MySQL默認(rèn)是不帶0補(bǔ)全的。
只是在一些特殊情況下兩者顯示有區(qū)別,其本質(zhì)完全一樣。
· FLOAT(M, D)
· DOUBLE(M, D)
屬性 | 存儲(chǔ)空間 | 精度 | 精確性 |
Float | 4 bytes | 單精度 | 非精確 |
Double | 8 bytes | 雙精度 | 比Float精度高 |
· 精度丟失
一個(gè)例子:
create table t(aint(11), b float(7,4));insert into tvalues (2,123.12345);select * from t;
· DECIMAL
o 高精度的數(shù)據(jù)類(lèi)型,常用來(lái)存儲(chǔ)交易相關(guān)的數(shù)據(jù)
o DECIMAL(M,N).M代表總精度,N代表小數(shù)點(diǎn)右側(cè)的位數(shù)(標(biāo)度)
o 1 < M < 254, 0 < N < 60;
o 存儲(chǔ)空間變長(zhǎng)
一般使用tinyint、char(1)、enum類(lèi)型。
· 存儲(chǔ)性別、省份、類(lèi)型等分類(lèi)信息時(shí)選擇TINYINT或者ENUM
· BIGINT存儲(chǔ)空間更大,INT和BIGINT之間通常選擇BIGINT
· 交易等高精度數(shù)據(jù)選擇使用DECIMAL
· CHAR
· VARCHAR
· TEXT
· CHAR和VARCHAR存儲(chǔ)的單位都是字符
· CHAR存儲(chǔ)定長(zhǎng),容易造成空間的浪費(fèi)
· VARCHAR存儲(chǔ)變長(zhǎng),節(jié)省存儲(chǔ)空間
編碼\輸入字符串 | 網(wǎng)易 | netease |
gbk(雙字節(jié)) | varchar(2)/4 bytes | varchar(7)/7 bytes |
utf8(三字節(jié)) | varchar(2)/6 bytes | varchar(7)/7 bytes |
utf8mb4(四字節(jié)) | varchar(2) ? | varchar(7)/7 bytes |
對(duì)于utf8mb4號(hào)稱(chēng)占用四字節(jié)但是并不絕對(duì)。如果在utf8可以覆蓋到的范圍則仍然占用3字節(jié)。
utf8mb4最有優(yōu)勢(shì)的應(yīng)用場(chǎng)景是用于存儲(chǔ)emoji表情
· MySQL版本 > 5.5.3
· JDBC驅(qū)動(dòng)版本 > 5.1.13
· 庫(kù)和表的編碼設(shè)為utf8mb4
· CHAR和VARCHAR存儲(chǔ)單位為字符
· TEXT存儲(chǔ)單位為字節(jié),總大小為65535字節(jié),約為64KB
· CHAR數(shù)據(jù)類(lèi)型最大為255字符
· VARCHAR數(shù)據(jù)類(lèi)型為變長(zhǎng)存儲(chǔ),可以超過(guò)255個(gè)字符
· TEXT在MySQL內(nèi)部大多存儲(chǔ)格式為溢出頁(yè),效率不如CHAR
一個(gè)例子:
create table t (achar(256));create table t (avarchar(256));
· BLOB
· BINARY
性能太差,不推薦
· CHAR與VARCHAR定義的長(zhǎng)度是字符長(zhǎng)度不是字節(jié)長(zhǎng)度
· 存儲(chǔ)字符串推薦使用VARCHAR(N),N盡量小
· 雖然數(shù)據(jù)庫(kù)可以存儲(chǔ)二進(jìn)制數(shù)據(jù),但是性能低下,不要使用數(shù)據(jù)庫(kù)存儲(chǔ)文件音頻等二進(jìn)制數(shù)據(jù)
· DATE
· TIME
· DATETIME
· TIMESTAMP
· BIGINT
·
存儲(chǔ)空間上的區(qū)別
·
o DATE三字節(jié),如:2015-05-01
o TIME三字節(jié),如:11:12:00
o TIMESTAMP,如:2015-05-01 11::12:00
o DATETIME八字節(jié),如:2015-05-01 11::12:00
·
存儲(chǔ)精度的區(qū)別
·
o DATE精確到年月日
o TIME精確到小時(shí)分鐘和秒
o TIMESTAMP、DATETIME都包含上述兩者
· 存儲(chǔ)范圍的區(qū)別
o TIMESTAMP存儲(chǔ)范圍:1970-01-01 00::00:01 to 2038-01-19 03:14:07
o DATETIME的存儲(chǔ)范圍:1000-01-01 00:00:00 to 9999-12-31 23:59:59
MySQL在5.6.4版本之后,TimeStamp和DateTime支持到微妙
· 字段類(lèi)型與市區(qū)的關(guān)聯(lián)關(guān)系
o TIMESTAMP會(huì)根據(jù)系統(tǒng)時(shí)區(qū)進(jìn)行轉(zhuǎn)換,DATETIME則不會(huì)
· 國(guó)際化的系統(tǒng)
一個(gè)例子:
create table test (a datetime, btimestamp);select now();insert into testvalues (now(), now());select * from test;set time_zone= '+00:00';select * from test;
· 應(yīng)用程序?qū)r(shí)間轉(zhuǎn)換為數(shù)字類(lèi)型
· DataBase/Schema
· Table
· Index
· View/Trigger/Function/Procedure
· 一個(gè)DataBase對(duì)應(yīng)一個(gè)Schema
· 一個(gè)Schema包含一個(gè)或多個(gè)表
· 一個(gè)表里面包含一個(gè)或多個(gè)字段
· 一個(gè)表里包含一條或多條記錄
· 一個(gè)表包含一個(gè)或多個(gè)索引
· 業(yè)務(wù)隔離
· 資源隔離
· 索引
· 約束
· 視圖、觸發(fā)器、函數(shù)、存儲(chǔ)過(guò)程
· 讀書(shū)的時(shí)候如何快速定位某一章節(jié)
o 查找書(shū)籍目錄
o 在自己喜歡的章節(jié)加書(shū)簽,直接定位
· 索引就是數(shù)據(jù)庫(kù)中的數(shù)據(jù)的目錄(索引和數(shù)據(jù)是分開(kāi)存儲(chǔ)的)
o 索引和數(shù)據(jù)是兩個(gè)對(duì)象
o 索引主要是用來(lái)提高數(shù)據(jù)庫(kù)的查詢(xún)效率
o 數(shù)據(jù)庫(kù)中數(shù)據(jù)變更同樣需要同步索引數(shù)據(jù)的變更
CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name
[index_type]
ON tbl_name (index_col_name,...)
[index_option]
[algorithm_option | lock_option] ...
index_col_name:
col_name [(length)] [ASC |DESC]
index_type:
USING {BTREE | HASH}
ALTER [IGNORE] TABLE tbl_name
[alter_specification [, alter_specification] ...]
[partition_options]
alter_specification:
table_options
| ADD [COLUMN] col_name column_definition
[FIRST | AFTER col_name]
ADD [COLUMN] (col_name column_definition,...)
ADD {INDEX|KEY} [index_name]
[index_type] (index_col_name,...) [index_option] ...
| ADD [CONSTRAINT [symbol]]PRIMARY KEY
[index_type] (index_col_name,...) [index_option] ...
| ADD [CONSTRAINT [symbol]]
UNIQUE [INDEX|KEY] [index_name]
· 生活中的約束有哪些
o 每個(gè)人的指紋信息必須唯一
o 每個(gè)人的×××要求唯一
o 網(wǎng)上購(gòu)物需要先登錄才能下單
· 唯一約束
o 對(duì)一張表的某個(gè)字段或者某幾個(gè)字段設(shè)置唯一鍵約束,保證在這個(gè)表里對(duì)應(yīng)的數(shù)據(jù)必須唯一,如:用戶(hù)ID、手機(jī)號(hào)、×××等。
· 唯一約束是一種特殊的索引
· 唯一約束可以是一個(gè)或者多個(gè)字段
· 唯一約束可以在創(chuàng)建表的時(shí)候建好,也可以后面再補(bǔ)上
· 主鍵也是一種唯一約束
以如下這張表為例
CREATE TABLE `order` (
`id` int(10) unsignedNOT NULL AUTO_INCREMENT,
`orderid` int(10) unsignedNOT NULL,
`bookid` int(10) unsignedNOT NULL DEFAULT'0',
`userid` int(10) unsignedNOT NULL DEFAULT'0',
`number` tinyint(3) unsignedNOT NULL DEFAULT'0',
`address` varchar(128)NOT NULL DEFAULT'',
`postcode` varchar(128)NOT NULL DEFAULT'',
`orderdate` datetimeNOT NULL DEFAULT'0000-00-00 00:00:00',
`status` tinyint(3) unsigned zerofill DEFAULT'000',
PRIMARY KEY (`id`),
UNIQUE KEY`idx_orderid` (`orderid`),
UNIQUE KEY`idx_uid_orderid` (`userid`,`orderid`),
KEY`bookid` (`bookid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
· 索引有哪些
o 主鍵索引 ID
o 單鍵索引 orderid
o 單鍵索引 bookid
o 組合索引 (userid + orderid)
· 唯一約束有哪些
o 主鍵約束 (ID)
o 單鍵唯一索引 (orderid)
o 組合唯一索引 (userid + orderid)
· 添加主鍵
o alter table `order` add primary key (id);
· 添加唯一索引
o alter table `order` add unique key idx_uk_orderid (orderid);
· 外鍵指兩張表的數(shù)據(jù)通過(guò)某種條件關(guān)聯(lián)起來(lái)
· 將用戶(hù)表和訂單表通過(guò)外鍵關(guān)聯(lián)起來(lái)
o alter table `order` add CONSTRAINT constraint_uid FOREIGN KEY (userid) REFERENCES user(userid);
· 使用外鍵的注意事項(xiàng)
o 必須是INNODB表,Myisam和其他引擎不支持外鍵
o 相互約束的字段類(lèi)型必須要求一樣
o 主表的約束字段要求有索引
o 約束名稱(chēng)必須要唯一,即使不在一張表上
· 產(chǎn)品需求
o 假如有其他部門(mén)的同事想查詢(xún)我們數(shù)據(jù)庫(kù)里的數(shù)據(jù),但是我們并不想暴露表結(jié)構(gòu),并且只提供給他們部分?jǐn)?shù)據(jù)
· 視圖將一組查詢(xún)語(yǔ)句構(gòu)成的結(jié)果集,是一種虛擬結(jié)構(gòu),并不是實(shí)際數(shù)據(jù)
· 視圖能簡(jiǎn)化數(shù)據(jù)庫(kù)的訪問(wèn),能夠?qū)⒍鄠€(gè)查詢(xún)語(yǔ)句結(jié)構(gòu)化為一個(gè)虛擬結(jié)構(gòu)
· 視圖可以隱藏?cái)?shù)據(jù)庫(kù)后端表結(jié)構(gòu),提高數(shù)據(jù)庫(kù)安全性
· 視圖也是一種權(quán)限管理,只對(duì)用戶(hù)提供部分?jǐn)?shù)據(jù)
· 創(chuàng)建已完成訂單的視圖
o create view order_view as select * from `order` where status=1;
· 產(chǎn)品需求
o 隨著客戶(hù)個(gè)人等級(jí)的提升, 系統(tǒng)需要自動(dòng)更新用戶(hù)的積分,其中一共有兩張表,分別為:用戶(hù)信息表和積分表
· Trigger俗稱(chēng)觸發(fā)器,指可以在數(shù)據(jù)寫(xiě)入表A之前或者之后可以做一些其他動(dòng)作
· 使用Trigger在每次更新用戶(hù)表的時(shí)候出發(fā)更新積分表
· Function
· Procedure
· 網(wǎng)絡(luò)要通暢
· 用戶(hù)名和密碼要正確
· 數(shù)據(jù)庫(kù)需要加IP白名單
· 更細(xì)粒度的驗(yàn)證(庫(kù)、表、列權(quán)限類(lèi)型等等)
show privileges命令可以查看全部權(quán)限
· Data Privileges
o DATA: SELECT, INSERT, UPDATE, DELETE
· Definition Privileges
o DataBase: CREATE, ALTER, DROP
o Table: CREATE, ALTER, DROP
o VIEW/FUNCTION/TRIGGER/PROCEDURE: CREATE, ALTER, DROP
· Administrator Privileges
o Shutdown DataBase
o Replication Slave
o Replication Client
o File Privilege
GRANT
priv_type [(column_list)]
[, priv_type [column_list]] ...
ON [object_type] priv_level
TO user_specification [, user_specification] ...
[REQUIRE {NONE | ssl_option [[AND] ssl_option] ...}]
[WITH with_option ...]GRANT PROXYON user_specification
TO user_specification [, user_specification] ...
[WITHGRANT OPTION]
· 使用MySQL自帶的命令
o CREATE USER 'netease'@'localhost' IDENTIFIED BY 'netease163';
o GRANT SELECT ON *.* TO 'netease'@'localhost' WITH GRANT OPTION;
· 更改數(shù)據(jù)庫(kù)記錄
o 首先向User表里面插入一條記錄,根據(jù)自己的需要選擇是否向db和table_pirv表插入記錄
o 執(zhí)行flush privileges命令,讓權(quán)限信息生效
· GRANT語(yǔ)句會(huì)判斷是否存在該用戶(hù),如果不存在則新建
o GRANT SELECT ON *.* TO 'NETEASE'@'localhost' IDENTIFIED BY 'netease163' WITH GRANT OPTION;
· 查看當(dāng)前用戶(hù)的權(quán)限
o show grants;
· 查看其它用戶(hù)的權(quán)限
o show grants for netease@'localhost';
· 回收不需要的權(quán)限
o revoke select on *.* from netease@'localhost';
· 重新賦權(quán)
o grant insert on *.* to netease@'localhost';
· 用新密碼,grant語(yǔ)句重新授權(quán)
· 更改數(shù)據(jù)庫(kù)記錄,Update User表的Password字段
o 注意:用這種辦法,更改完需要flush privileges刷新權(quán)限信息,不推薦
DROP USER user [, user] ...
· 允許被授予權(quán)利的人把這個(gè)權(quán)利授予其他的人
· MySQL權(quán)限信息是存在數(shù)據(jù)庫(kù)表中
· MySQL賬號(hào)對(duì)應(yīng)的密碼也加密存儲(chǔ)在數(shù)據(jù)庫(kù)表中
· 每一種權(quán)限類(lèi)型在元數(shù)據(jù)里都是枚舉類(lèi)型,表明是否有該權(quán)限
· user
· db
· table_pirv
· columns_pirv
· host
查詢(xún)時(shí)從user->db->table_pirv->columns_pirv依次驗(yàn)證,如果通過(guò)則執(zhí)行查詢(xún)。
· MySQL權(quán)限信息都是以數(shù)據(jù)記錄的形式存儲(chǔ)在數(shù)據(jù)庫(kù)的表中。
· MySQL的權(quán)限驗(yàn)證相比網(wǎng)站登錄多了白名單環(huán)節(jié),并且粒度更細(xì),可以精確到表和字段。
· 使用Binary二進(jìn)制安裝管理用戶(hù)沒(méi)有設(shè)置密碼
· MySQL默認(rèn)的test庫(kù)不受權(quán)限控制,存在安全風(fēng)險(xiǎn)
· You can set a Password for root accounts.
· You can remove root accounts that are accessible from outside the localhost.
· You can remove anonymous-user accounts.
· You can remove the test database.
· 權(quán)限相關(guān)的操作不要直接操作表,統(tǒng)一使用MySQL命令。
· 使用二進(jìn)制安裝MySQL安裝后,需要重置管理用戶(hù)(root)的密碼。
· 線上數(shù)據(jù)庫(kù)不要留test庫(kù)
· 表結(jié)構(gòu)設(shè)計(jì)需要在正式進(jìn)行開(kāi)發(fā)之前完成
· 根據(jù)產(chǎn)品需求將復(fù)雜的業(yè)務(wù)模型抽象出來(lái)
· 理解各個(gè)表的依賴(lài)關(guān)系
· 理解各個(gè)表的功能特點(diǎn)
o 字段之間的約束、索引
o 字段類(lèi)型、字段長(zhǎng)度
· 昵稱(chēng)
· 生日
· 性別
· 手機(jī)號(hào)碼
· 住宅號(hào)碼
· 郵編
· 住宅地址
· 注冊(cè)地址
· 登錄IP
· 上一次登錄時(shí)間
· 郵件地址
create table tb_account(
account_idint not null auto_incrementprimary key,
nick_namevarchar(20),
true_namevarchar(20),
sexchar(1),
mail_addressvarchar(50),
phone1varchar(20)not null,
phone2varchar(20),
passwordvarchar(30)not null,
create_time datetime,
account_state tinyint,
last_login_time datetime,
last_login_ipvarchar(20)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
create table tb_goods(
good_idbigint not null auto_incrementprimary key,
goods_namevarchar(100)not null,
pic_urlvarchar(500)not null,
store_quantityint not null,
goods_notevarchar(4096),
producervarchar(500),
category_idint not null
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
create table tb_goods_category(
category_idint not null auto_incrementprimary key,
category_levelsmallint not null,
category_namevarchar(500),
upper_category_idint not null
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
create table tb_order(
order_idbigint not null auto_incrementprimary key,
account_idint not null,
create_time datetime,
order_amountdecimal(12,2),
order_state tinyint,
update_time datetime,
order_ipvarchar(20),
pay_methodvarchar(20),
user_notesvarchar(500)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
create table tb_order_item(
order_item_idbigint not null auto_incrementprimary key,
order_idbigint not null,
goods_idbigint not null,
goods_quantityint not null,
goods_amountdecimal(12,2),
uique key uk_order_goods(order_id, goods_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
· 所有表名,字段名全部使用小寫(xiě)字母
· 不同業(yè)務(wù),表名使用不同前綴區(qū)分。
· 生成環(huán)境表名字段名要有實(shí)際意義
· 單個(gè)字段盡量使用字段全名;多個(gè)字段之間用下劃線分隔
· 字段類(lèi)型選擇,盡量選擇能滿(mǎn)足應(yīng)用要求的最小數(shù)據(jù)類(lèi)型
· 盡量使用×××代替字符型?!痢痢猎谧侄伍L(zhǎng)度、索引大小等方面開(kāi)銷(xiāo)小效率更高,如郵編字段,手機(jī)號(hào)碼等
· 注釋?zhuān)總€(gè)字段必須以comment語(yǔ)句給出字段的作用
· 經(jīng)常訪問(wèn)的大字段需要單獨(dú)放到一張表中,避免降低sql效率,圖片、電影等大文件數(shù)據(jù)禁止存數(shù)據(jù)庫(kù)
· 新業(yè)務(wù)統(tǒng)一建議使用utf8mb4字符集
· 理解用戶(hù)到底需要什么權(quán)限
o 普通用戶(hù)只有數(shù)據(jù)讀寫(xiě)權(quán)限
o 系統(tǒng)管理員具有super權(quán)限
· 權(quán)限粒度要做到盡可能的細(xì)
o 普通用戶(hù)不要設(shè)置with grant option屬性
o 權(quán)限粒度:系統(tǒng)層面>庫(kù)層面>表層面>字段層面
· 禁止簡(jiǎn)單密碼
o 線上密碼要求隨機(jī)
本課程涉及建表SQL
-- ------------------------------ Table structure for `play_fav`-- ----------------------------DROP TABLE IF EXISTS`play_fav`;CREATE TABLE `play_fav` (
`userid` bigint(20)NOT NULL COMMENT'收藏用戶(hù)id',
`play_id` bigint(20)NOT NULL COMMENT'歌單id',
`createtime` bigint(20)NOT NULL COMMENT'收藏時(shí)間',
`status` int(11) DEFAULT'0' COMMENT'狀態(tài),是否刪除',
PRIMARY KEY (`play_id`,`userid`),
KEY`IDX_USERID` (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='歌單收藏表';
-- ------------------------------ Records of play_fav-- ----------------------------INSERT INTO play_favVALUES ('2','0','0','0');INSERT INTO play_favVALUES ('116','1','1430223383','0');INSERT INTO play_favVALUES ('143','1','0','0');INSERT INTO play_favVALUES ('165','2','0','0');INSERT INTO play_favVALUES ('170','3','0','0');INSERT INTO play_favVALUES ('185','3','0','0');INSERT INTO play_favVALUES ('170','4','0','0');INSERT INTO play_favVALUES ('170','5','0','0');
-- ------------------------------ Table structure for `play_list`-- ----------------------------DROP TABLE IF EXISTS`play_list`;CREATE TABLE `play_list` (
`id` bigint(20)NOT NULL COMMENT'主鍵',
`play_name` varchar(255) DEFAULTNULL COMMENT'歌單名字',
`userid` bigint(20)NOT NULL COMMENT'歌單作者賬號(hào)id',
`createtime` bigint(20) DEFAULT'0' COMMENT'歌單創(chuàng)建時(shí)間',
`updatetime` bigint(20) DEFAULT'0' COMMENT'歌單更新時(shí)間',
`bookedcount` bigint(20) DEFAULT'0' COMMENT'歌單訂閱人數(shù)',
`trackcount` int(11) DEFAULT'0' COMMENT'歌曲的數(shù)量',
`status` int(11) DEFAULT'0' COMMENT'狀態(tài),是否刪除',
PRIMARY KEY (`id`),
KEY`IDX_CreateTime` (`createtime`),
KEY`IDX_UID_CTIME` (`userid`,`createtime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='歌單';
-- ------------------------------ Records of play_list-- ----------------------------INSERT INTO play_listVALUES ('1','老男孩','1','1430223383','1430223383','5','6','0');INSERT INTO play_listVALUES ('2','情歌王子','3','1430223384','1430223384','7','3','0');INSERT INTO play_listVALUES ('3','每日歌曲推薦','5','1430223385','1430223385','2','4','0');INSERT INTO play_listVALUES ('4','山河水','2','1430223386','1430223386','5',null,'0');INSERT INTO play_listVALUES ('5','李榮浩','1','1430223387','1430223387','1','10','0');INSERT INTO play_listVALUES ('6','情深深','5','1430223388','1430223389','0','0','1');
-- ------------------------------ Table structure for `song_list`-- ----------------------------DROP TABLE IF EXISTS`song_list`;CREATE TABLE `song_list` (
`id` bigint(20)NOT NULL COMMENT'主鍵',
`song_name` varchar(255)NOT NULL COMMENT'歌曲名',
`artist` varchar(255)NOT NULL COMMENT'藝術(shù)節(jié)',
`createtime` bigint(20) DEFAULT'0' COMMENT'歌曲創(chuàng)建時(shí)間',
`updatetime` bigint(20) DEFAULT'0' COMMENT'歌曲更新時(shí)間',
`album` varchar(255) DEFAULTNULL COMMENT'專(zhuān)輯',
`playcount` int(11) DEFAULT'0' COMMENT'點(diǎn)播次數(shù)',
`status` int(11) DEFAULT'0' COMMENT'狀態(tài),是否刪除',
PRIMARY KEY (`id`),
KEY`IDX_artist` (`artist`),
KEY`IDX_album` (`album`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='歌曲列表';
-- ------------------------------ Records of song_list-- ----------------------------INSERT INTO song_listVALUES ('1','Good Lovin\' Gone Bad','Bad Company','0','0','Straight Shooter','453','0');INSERT INTO song_listVALUES ('2','Weep No More','Bad Company','0','0','Straight Shooter','280','0');INSERT INTO song_listVALUES ('3','Shooting Star','Bad Company','0','0','Straight Shooter','530','0');INSERT INTO song_listVALUES ('4','大象','李志','0','0','1701','560','0');INSERT INTO song_listVALUES ('5','定西','李志','0','0','1701','1023','0');INSERT INTO song_listVALUES ('6','紅雪蓮','洪啟','0','0','紅雪蓮','220','0');INSERT INTO song_listVALUES ('7','風(fēng)柜來(lái)的人','李宗盛','0','0','作品李宗盛','566','0');
-- ------------------------------ Table structure for `stu`-- ----------------------------DROP TABLE IF EXISTS`stu`;CREATE TABLE `stu` (
`id` int(10)NOT NULL DEFAULT'0',
`name` varchar(20) DEFAULTNULL,
`age` int(10) DEFAULTNULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- ------------------------------ Records of stu-- ----------------------------
-- ------------------------------ Table structure for `tbl_proc_test`-- ----------------------------DROP TABLE IF EXISTS`tbl_proc_test`;CREATE TABLE `tbl_proc_test` (
`id` int(11)NOT NULL AUTO_INCREMENT,
`num` int(11) DEFAULTNULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8;
-- ------------------------------ Records of tbl_proc_test-- ----------------------------INSERT INTO tbl_proc_testVALUES ('11','1');INSERT INTO tbl_proc_testVALUES ('12','2');INSERT INTO tbl_proc_testVALUES ('13','6');INSERT INTO tbl_proc_testVALUES ('14','24');INSERT INTO tbl_proc_testVALUES ('15','120');INSERT INTO tbl_proc_testVALUES ('16','720');INSERT INTO tbl_proc_testVALUES ('17','5040');INSERT INTO tbl_proc_testVALUES ('18','40320');INSERT INTO tbl_proc_testVALUES ('19','362880');INSERT INTO tbl_proc_testVALUES ('20','3628800');INSERT INTO tbl_proc_testVALUES ('21','1');INSERT INTO tbl_proc_testVALUES ('22','2');INSERT INTO tbl_proc_test <
網(wǎng)頁(yè)題目:數(shù)據(jù)庫(kù)MYSQL學(xué)習(xí)系列二
本文鏈接:http://muchs.cn/article16/piopgg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、靜態(tài)網(wǎng)站、電子商務(wù)、品牌網(wǎng)站設(shè)計(jì)、自適應(yīng)網(wǎng)站、虛擬主機(jī)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)