MYSQL查看表结构
MYSQL查看表結構
view:是數據庫的視圖
1.0
show columns from 表的列 【from 數據庫】 :作用查看表的列的屬性,如果不在表的所在庫使用需要加上后面的
desc 表 :查看該表的所有列的屬性
desc 表 列 :查看指定表的列的屬性
ALTER TABLE <表名>
{ ADD COLUMN <列名> <類型> :增加一個列
| CHANGE COLUMN <舊列名> <新列名> <新列類型> :不僅可以更改屬性還可以修改列的名字
| MODIFY COLUMN <列名> <類型> :修改列的性質
| DROP COLUMN <列名> :刪除列
| RENAME TO <新表名> } :修改表名,改名后的外鍵關系等會繼承下來
2.0 表的操作
復制表:
CREATE TABLE IF NOT EXISTS 新表
LIKE 來源表; :復制表的結構
create table if not exists 新表
select * from 來源表; :會復制表的結構和數據
刪除表:
drop table 表名
drop table 【if exists】表名 :【】內的表示限制這個表如果存在才進行刪除操作
3.0索引index
索引類似于書的目錄
一個表可以有多個索引
索引會增加物理存儲于物理層面,約束不會增加更偏邏輯;
主鍵約束和唯一約束會自動生成索引;
索引可以是字段的組合但不能跨表建立索引;
例如:創建一個(sno,sname,sage)
就等同創建了三個索引——遵循最左原則:
? (sno)
? (sno,sname)
? (sno,sname,sage)
前綴索引:索引內容是查找字段的一部分
頻繁的增刪改的不適合建立索引;
適合建立索引的字段:
出現在where和order by 后經常查詢的? 重復率比較低的
? 數據簡單的
聚簇索引就是索引順序與數據物理順序一致;
innoDB:主鍵—>主索引—>聚簇(會依據聚簇排序改變表的數據行順序)
myisam:主鍵—>主索引—>非聚簇(不會按照聚簇排序改變原來數據的順序)
explain:看執行計劃
全文索引搜索的關鍵詞不能大于50%或者“hello”類似的頻詞,否則無意義搜索不出-----50%的計算是按行來計算的
全文索引只能在MyISAM引擎上建立使用
CREATE DATABASE db1; USE db1;CREATE TABLE student (sno CHAR(8), sname CHAR(10), sage INT, UNIQUE KEY index_sname(sname), INDEX INDEX_sage(sage DESC));EXPLAIN SELECT * FROM student WHERE sname='小明'CREATE TABLE productnotes ( note_id INT NOT NULL, note_text TEXT NULL, FULLTEXT(note_text) ) ENGINE=MYISAM;SELECT * FROM productnotes WHERE MATCH(note_text) AGAINST('teacher');這種的全文查找是找出文件內該字段的出現頻率對此進行排序SELECT * FROM productnotes WHERE note_text LIKE '%teacher%';這種查找只對該這段查找是否存在,不查看頻率也不會排序總結
以上是生活随笔為你收集整理的MYSQL查看表结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS开发系列--通讯录、蓝牙、内购、G
- 下一篇: c语言改错题字符串a放在b后面,C语言程