MySQL數(shù)據(jù)操作管理示例詳解
一、查看表和查看表的定義
SHOW TABLE 表名 DESC 表名; DESCRIBE 表名
二、刪除表
DROP TABLE [IF EXISTS ] 表名;
如果表USER存在,刪除表USER
DROP TABLE IF EXISTS USER;
三、創(chuàng)建表
CREATE TABLE [ IF NOT EXISTS ] `表名` ( `字段名1` 列類型 [ 字段屬性 | 約束] [ 索引 ] [注釋] , `字段名2` 列類型 [ 字段屬性 | 約束] [ 索引 ] [注釋] , … … `字段名n` 列類型 [字段屬性 | 約束] [ 索引 ] [注釋] ) [ 表類型 ] [ 表字符集 ] [注釋] ;
四、表類型
使用MyISAM: 節(jié)約空間及相應(yīng)速度,適合以訪問(wèn)為主的應(yīng)用。
使用InnoDB: 安全性,事務(wù)處理及多用戶操作數(shù)據(jù)表。
五、修改表
//修改表名 ALTER TABLE 舊表名 RENAME AS 新表名 //添加字段 ALTER TABLE 表名 ADD 字段名 列類型 [ 屬性 ] // 修改列的數(shù)據(jù)類型 ALTER TABLE 表名 MODIFY 字段名 列類型 [ 屬性 ] //修改列的數(shù)據(jù)類型及名稱 ALTER TABLE 表名 CHANGE 舊字段名 新字段名 列類型 [ 屬性 ] //刪除字段 ALTER TABLE 表名 DROP 字段名
六、完整性
數(shù)據(jù)完整性 = 數(shù)據(jù)的精確性 + 數(shù)據(jù)的可靠性
1、數(shù)據(jù)完整性
1.實(shí)體完整性
保證表中所有的行唯一
2.域完整性
數(shù)據(jù)庫(kù)表中的列必須滿足某種特定的數(shù)據(jù)類型或約束 取值范圍 精度
3.引用完整性
保證主關(guān)鍵字 //被引用表 \ 和外部關(guān)鍵字 //引用表\ 之間的參照關(guān)系
涉及兩個(gè)或兩個(gè)以上表數(shù)據(jù)的一致性維護(hù)
2、使用約束實(shí)現(xiàn)數(shù)據(jù)完整性
3、在數(shù)據(jù)表上添加約束
//設(shè)置唯一約束 ALTER TABLE 表名 ADD CONSTRAINT 約束名 UNIQUE(列名); //主鍵 //如果兩列或多列組合起來(lái)唯一地標(biāo)識(shí)表中的每個(gè)行,則該主鍵叫做“復(fù)合主鍵” ALTER TABLE 表名 ADD CONSTRAINT 約束名 PRIMARY KEY(列名1,列名2,…列名n); //設(shè)置外鍵約束 ALTER TABLE 從表名 ADD CONSTRAINT 約束名 FOREIGN KEY(從表的列名) REFERENCES 主表名(主表的列名)
設(shè)置外鍵約束的注意事項(xiàng):
1.主表中的字段必須為主鍵。
2.從表中的外鍵列和主表中的主鍵列的數(shù)據(jù)類型要保持一致,和字段名無(wú)關(guān)。
3.主表和從表的表類型為InnoDB。
4、刪除約束
//刪除主鍵約束 ALTER TABLE 表名 DROP PRIMARY KEY; //刪除唯一約束 ALTER TABLE 表名 DROP KEY 唯一約束名; //刪除外鍵約束 ALTER TABLE 表名 DROP FOREIGN KEY 外鍵約束名;
七、添加數(shù)據(jù)
//插入單行數(shù)據(jù) INSERT INTO 表名 [ ( 字段1, 字段2, 字段3, … ) ] VALUES ( 值1, 值2, 值3, …); //插入多行數(shù)據(jù) INSERT INTO 表名 [ ( 字段1, 字段2, 字段3, … ) ] VALUES ( 值1, 值2, 值3, …),( 值1, 值2, 值3, …),…; //將查詢結(jié)果插入到新表中 CREATE TABLE 新表名 ( SELECT 字段1, 字段2, 字段3, … FROM 原表)
八、修改數(shù)據(jù)
UPDATE 表名 SET column_name = value [ , column_name2 = value2, …. ] [ WHERE condition ]; //1.column_name 為要更改的字段名。 //2.value 為修改后的數(shù)據(jù),可以為變量、具體值、表達(dá)式或者嵌套的SELECT結(jié)果。 //3.多個(gè)字段之間用逗號(hào)隔開。 //4.提供的修改數(shù)據(jù)必須符合數(shù)據(jù)完整性的要求。 //5.condition為篩選條件,如不指定則修改該表的所有列數(shù)據(jù)。
九、刪除數(shù)據(jù)
DELETE FROM 表名 [ WHERE condition ]; //1.DELETE語(yǔ)句刪除的是整條記錄,不會(huì)只刪除單個(gè)列。 //2.condition為篩選條件,如不指定則修改該表的所有列數(shù)據(jù)。
TRUNCATE TABLE 表名; //1.TRUNCATE TABLE 刪除表中所有的行。 //2.TRUNCATE TABLE不能用于有外鍵約束引用的表。 //3.同時(shí)刪除MySQL內(nèi)的計(jì)數(shù)器,即自動(dòng)增加的計(jì)數(shù)器
十、SQL語(yǔ)句中的運(yùn)算符
算數(shù)運(yùn)算符
比較運(yùn)算符
邏輯運(yùn)算符
到此這篇關(guān)于MySQL數(shù)據(jù)操作管理示例詳解的文章就介紹到這了,更多相關(guān)MySQL數(shù)據(jù)操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL中日期和時(shí)間戳互相轉(zhuǎn)換的函數(shù)和方法
這篇文章主要介紹了MySQL中日期和時(shí)間戳互相轉(zhuǎn)換的函數(shù)和方法,本文分別講解了時(shí)間戳轉(zhuǎn)換成日期的方法和把日期轉(zhuǎn)換為時(shí)間戳的方法,需要的朋友可以參考下2015-06-06關(guān)于MySQL查詢語(yǔ)句的優(yōu)化詳解
這篇文章主要介紹了MySQL查詢語(yǔ)句的優(yōu)化方法,分別介紹了子查詢優(yōu)化,分頁(yè)查詢優(yōu)化以及排序查詢優(yōu)化,對(duì)學(xué)習(xí)有一定的幫助,需要的小伙伴可以參考一下2023-04-04MySQL錯(cuò)誤“Specified key was too long; max key length is 1000 b
今天在為數(shù)據(jù)庫(kù)中的某兩個(gè)字段設(shè)置unique索引的時(shí)候,出現(xiàn)了Specified key was too long; max key length is 1000 bytes錯(cuò)誤2010-08-08MySQL中日期比較時(shí)遇到的編碼問(wèn)題解決辦法
這篇文章主要介紹了MySQL中日期比較時(shí)遇到的字符集問(wèn)題解決辦法,本文遇到的問(wèn)題是date_format函數(shù)和timediff函數(shù)之間比較時(shí),編碼問(wèn)題導(dǎo)致出錯(cuò),本文使用convert()函數(shù)解決了這個(gè)問(wèn)題,需要的朋友可以參考下2014-07-076G數(shù)據(jù)庫(kù)的導(dǎo)入 報(bào)各種錯(cuò)誤的解決辦法
今天看到一高人的mysql數(shù)據(jù)庫(kù)達(dá)到了6G左右,導(dǎo)入都是個(gè)問(wèn)題,上傳也挺麻煩的,這里特分享下,方便需要的朋友2013-01-01mysql下為數(shù)據(jù)庫(kù)設(shè)置交叉權(quán)限的方法
由于 SupeSite 需要調(diào)用 Discuz! 和 UCHome 的數(shù)據(jù),所以如果它們不安裝在同一個(gè)數(shù)據(jù)庫(kù),SupeSite 的數(shù)據(jù)庫(kù)用戶必須要對(duì) Discuz! 和 UCHome 的數(shù)據(jù)庫(kù)有讀取、修改、刪除等權(quán)限。2011-07-07Mysql中where與on的區(qū)別及何時(shí)使用詳析
MySQL當(dāng)中的限制條件可以使用on或者where,兩者在不同的情況下具有不同而意義,這篇文章主要給大家介紹了關(guān)于Mysql中where與on的區(qū)別及何時(shí)使用的相關(guān)資料,需要的朋友可以參考下2021-08-08mysql性能監(jiān)控工具Innotop簡(jiǎn)介及配置
INNOTOP是一個(gè)通過(guò)文本模式顯示MySQL和InnoDB的監(jiān)測(cè)工具。INNOTOP是用PERL語(yǔ)言寫成的,這使它能更加靈活的使用在各種操作平臺(tái)之上,它能詳細(xì)的的監(jiān)控出當(dāng)前MYSQL和INNODB運(yùn)行的狀態(tài),以DBA根據(jù)結(jié)果,可以合理的優(yōu)化MYSQL,讓MYSQL更穩(wěn)定更高效的運(yùn)行。2014-08-08