本篇文章給大家主要講的是關(guān)于linux下MySQL數(shù)據(jù)庫模型, 管理表和索引的內(nèi)容,感興趣的話就一起來看看這篇文章吧,相信看完linux下mysql數(shù)據(jù)庫模型, 管理表和索引對大家多少有點參考價值吧。
十多年的承德網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。營銷型網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整承德建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)建站從事“承德網(wǎng)站設(shè)計”,“承德網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
1.linux下mysql數(shù)據(jù)庫及其模型
1.1.SHOW TABLE STATUS LIKE 'user'\G #查看表的存儲引擎
SHOW ENGINES; #查看數(shù)據(jù)庫支持的存儲引擎
客戶端工具:mysql、mysqladmin、mysqldump、mysqlimport、mysqlcheck
云服務(wù)器端工具:mysqld, mysqld_safe, mysqld_multi
1.2.my.cnf檢查順序:
/etc/my.cnf --> /etc/mysql/my.cnf --> $MYSQL_HOME/my.cnf -->
--default-extra-file=/路徑文件 --> ~/.my.cnf
# mysqld --help --verbose
1.3.hostname.err,錯誤日志:此前服務(wù)未關(guān)閉,數(shù)據(jù)初始化失敗,數(shù)據(jù)目錄位置錯誤,數(shù)據(jù)目錄權(quán)限問題
1.4.數(shù)據(jù)類型:存入的值類型;占據(jù)的存儲空間;定長或變長;比較及排序;是否能夠索引;
1.5.查看字符集和排序規(guī)則命令:
mysql> SHOW CHARACTER SET;
mysql> SHOW COLLATION;
1.6.AUTO_INCREMENT: 整型 非空 無符號 主鍵或惟一鍵
CREATE TABLE test(ID INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY, Name CHAR(20))
mysql> SELECT LAST_INSERT_ID();
1.7.MySQL云服務(wù)器變量按作用域:分為全局變量和會話變量
SHOW GLOBAL VARIABLES #查看全局變量
SHOW [SESSION] VARIABLES #查看會話變量
MySQL云服務(wù)器變量按生效時間分為兩類:動態(tài)和靜態(tài)
動態(tài):可即時修改
靜態(tài):寫在配置文件中,通過參數(shù)傳遞給mysqld
動態(tài)調(diào)整參數(shù)的生效方式:
全局變量:對當前會話無效,只對新建立會話有效;
會話變量:即時生效,但只對當前會話有效;
1.8.云服務(wù)器變量:@@變量名
顯示:SELECT @@global.sql_mode;
SELECT @@session.sql_mode;
設(shè)定:SET GLOBAL|SESSION 變量名='value'
2.管理表:
2.1.創(chuàng)建數(shù)據(jù)庫:
CREATE DATABASE IF NOT EXISTS students CHARACTER SET 'gbk' COLLATE 'gbk_chinese_ci';
2.2.刪除數(shù)據(jù)庫:
DROP DATABASE [IF EXISTS] db_name
2.3.創(chuàng)建表:
CREATE TABLE [IF NOT EXISTS] tb_name (col_name col_defination, constraint )
2.3.1.直接創(chuàng)建一張空表:
CREATE TABLE tb1 (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, Name CHAR(20) NOT NULL, Age TINYINT NOT NULL) ENGINE [=] engine_name
CREATE TABLE tb2 (id INT UNSIGNED NOT NULL AUTO_INCREMENT, Name CHAR(20) NOT NULL, Age TINYINT NOT NULL, PRIMARY KEY(id),UNIQUE KEY(name),INDEX(age))
CREATE TABLE courses(ID TINYINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,Course VARCHAR(50) NOT NULL);
2.3.2.插入表數(shù)據(jù):
INSERT INTO courses (Course) values ('CCNA'),('CCNP'),('RHCA');
2.3.3.顯示表的索引:
SHOW INDEXES FROM tb_name;
2.4.從其它表中查詢出數(shù)據(jù),并以之創(chuàng)建新表:(注意此類方法表格式定義與源表不同)
CREATE TABLE courses_new SELECT * FROM courses WHERE ID <=2;
2.5.以其它表為模板創(chuàng)建一個空表;(此類方法表格式定義與源表一模一樣)
CREATE TABLE Courses_good LIKE courses;
3.索引
3.1.添加索引:
ALTER TABLE Courses_good ADD UNIQUE KEY (Course);
3.2.修改字段名稱:
ALTER TABLE courses_good MODIFY CID TINYINT UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE courses_good CHANGE Couse Course VARCHAR(50) NOT NULL;
3.3.增加字段名稱:
ALTER TABLE courses_good ADD Startdate date default '2016-06-29';
3.4.修改表名稱:
ALTER TABLE courses_good RENAME TO courses_new;
RENAME TABLE courses_new TO courses_good;
3.5.刪除表:
DROP TABLE courses_new;
3.6.表之間建立關(guān)系:
CREATE TABLE cla***oom (SID INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,Name VARCHAR(30), CID INT NOT NULL);
INSERT INTO cla***omm (Name,CID) VALUES ('Jerry',3),('tom',1);
SELECT * FROM cla***omm;
SELECT * FROM courses;
SELECT Name,Course FROM cla***oom,courses WHERE cla***oom.CID=courses.ID;
在沒有引用外鍵情況下:cla***oom表可任意插入數(shù)據(jù)如下:
INSERT INTO cla***oom (Name,CID) VALUES ('Willow',6);
DELETE FROM cla***oom WHERE CID=6;
引用外鍵情況下:cla***oom表只能對照引用表存在的數(shù)據(jù)進行插入,不能任意插入數(shù)據(jù)
外鍵必須是支持事務(wù)的存儲引擎,如InnoDB,否則會報錯
外鍵引用字段類型參數(shù)也需一致
ALTER TABLE courses ENGINE=InnoDB;
ALTER TABLE cla***oom ADD FOREIGN KEY foreign_cid (CID) REFERENCES courses(ID);
SHOW INDEXES FROM cla***oom;
此時對cla***oom表再插入引用的courses表中沒有的數(shù)據(jù),將會報錯
INSERT INTO cla***oom (Name,CID) VALUES ('Willow',6);
3.7.創(chuàng)建索引:
CREATE INDEX index_on_name ON cla***oom (Name) USING BTREE;
CREATE INDEX index_on_name ON cla***oom (Name(5) DESC) USING BTREE;
3.8.刪除索引:
DROP INDEX index_on_name ON cla***oom;
以上關(guān)于linux下mysql數(shù)據(jù)庫模型, 管理表和索引詳細內(nèi)容,對大家有幫助嗎?如果想要了解更多相關(guān),可以繼續(xù)關(guān)注我們的行業(yè)資訊板塊。
文章題目:linux下mysql數(shù)據(jù)庫模型,管理表和索引相關(guān)要義介紹
網(wǎng)站網(wǎng)址:http://www.rwnh.cn/article34/gpopse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護、服務(wù)器托管、軟件開發(fā)、Google、網(wǎng)站排名、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)