8使用資料庫和表
8使用資料庫和表
====================
對blob,text欄位可以槍支行的制定新增索引的字元個數
create index ind_xx on tab_xx(col_name(100));
為在表tab_xx的col_name欄位的前100個字元上建立索引ind_xx
刪除索引
drop index ind_xx on table_name;
mysql支援全文檢索型別函式fulltext
alter table table_name add fulltext index (column_name);
建立好索引後使用against以及match函式就能進行更好的檢索
select match(column_name) against('char') from table_name;
同時支援布林搜尋
select * from table_name where match(column_name) against ('char') in boolean mode);
當修改影響fulltext索引的伺服器變數時,啟用修改後必須重建索引
可以刪除索引後重建
或者使用帶有quick引數的repair table命令重建
repair table table_name quick;
----------------
獲取表定義
show create table table_name;
刪除外來鍵
alter table table_name drop foreign key key_name;
外來鍵自動維護完整性
create table table_name
(id int not null,
fid int not null,
foreign key (fid) references table_name_pk(column_pk) on delete cascade)
type=innodb;
delete子句中可用的操作
cascade 刪除包含與已刪除鍵值有參照關係的所有記錄
set null 修改與已刪除值有參照關係的所有記錄,使用null值替換
restrict 拒絕修改要求,知道使用刪除鍵值的輔助表被手工刪除,並且沒有引數是這個值是預設值
no action 什麼都不做
類似delete子句,還有on update xxxx子句可以使用。
----------------
表型別
建表時type關鍵字指定型別
myisam
isam
heap
berkeleydb
innodb
merge
myisam表型別
延伸了isam型別,也是mysql的預設表型別
myisam表優化了壓縮比例和速度
可以在不同作業系統和病態之間進行移植
支援大檔案
允許對blob和text列進行索引
支援使用字首和完全鍵進行搜尋
設計上能夠智慧的防治碎片
isam表型別
與myisam的區別是不壓縮
使用時佔用的系統資源少,磁碟空間多
單表有大小限制,並且相容性不好
isam表容易分裂,降低速度
對資料,索引的壓縮有限制
heap表型別
比較快速的雜湊索引,所以insert比較快
系統關閉後資料丟失
類似於臨時表
會消耗ram
不支援blob以及text列
建立時最好使用max_rows來限制表中的資料量,避免表擴張過大消耗ram
create table table_name(id int) type=heap max_rows=10;
berkeleydb表型別
為滿足事務安全而出現
包括提交和回滾、多使用者併發訪問、檢查點、次要索引、通過日誌恢復崩潰、連續的和鍵控的訪問資料
限制是移動困難,不能壓縮索引,所以單表很大
所以被innodb取代
innodb表型別
支援事務處理並不會影響速度或者效能
支援行級鎖以及表級鎖
支援無鎖定讀取操作
支援非同步io,cache讀取資料
支援oracle類似的表空間以及檔案級別的儲存規劃
支援不同作業系統結構上的完全可移植性
支援外來鍵、提交、回滾和前滾
是所有表型別中最接近oracle的一種
merge表型別
通過把多個myisam表組合到一個單獨的表來建立的一種虛擬表
表結構相同,索引相同才能合併
支援select delete update操作
對提高表連線效能有跟好的作用
----------------
建表時可以使用的其他修飾符
auto_increment 自增插入值
checksum 是否儲存表校驗和的布林標識
comment 表的描述性註釋
max_rows 表中儲存的最大行數
min_rows 表中儲存的最小行數
pack_keys 是否壓縮表索引的布林標識
union 對映到一個單獨的merge表的表
data directory 表資料檔案的位置
index directory 表索引檔案的位置
-------------------
建表時使用if not exists子句可以避免存在相同名字的表
create table if not exists table_name(id int);
-------------------
複製表
create table table_name1 select * from table_name2;
和oracle相比少了一個關鍵字as
同時這種語法不能從原表中複製鍵,與oracle相同
另一種方法:
create table table_name1 like table_name2;
包含鍵值以及索引,但沒有資料
-------------------
修改表
alter table add/drop/change
change很大程度上等同於modify
重新命名錶支援兩種寫法
alter table table_name1 rename to table_name2;
rename table_name1 to table_name2;
新增新欄位到指定位置
alter table table_name add column_name column_type after column;
修改表中欄位的預設值
alter table table_name alter column_name set default 1;
修改表型別
alter table table_name type=innodb;
---------------------
檢視錶的索引
show index from table_name;
==============
mysql中常用的操作
create database
use
drop database
create table
drop table
show database
show tables
show create
show index
alter table
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13177610/viewspace-684206/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- phpMyAdmin管理資料庫和資料表PHP資料庫
- SQL建立資料庫和表SQL資料庫
- Laravel 使用多資料庫和 Model 表名去 sLaravel資料庫
- 資料庫8資料庫
- 織夢資料庫表結構_Dedecms資料庫表和欄位詳細介紹資料庫
- GBase8s 檢視資料庫表空間資訊資料庫
- MyBatis Java 和 資料庫 資料型別對應表MyBatisJava資料庫資料型別
- 使用Redis和Java進行資料庫快取 - DZone資料庫RedisJava資料庫快取
- 建立資料庫表資料庫
- 使用 requests 庫傳送多部分表單資料
- 使用AnalyticDB MySQL建立資料庫及表過程MySql資料庫
- .net8 winform程式使用EntityFrameworkCore連線資料庫ORMFramework資料庫
- Django 直接使用資料庫連線和遊標讀寫資料庫Django資料庫
- mysql 5.7後使用sys資料庫下的表查詢資料庫效能狀況MySql資料庫
- MySQL—-MySQL資料庫入門—-第二章 資料庫和表的基本操作MySql資料庫
- 資料倉儲(8)數倉事實表和維度表技術
- PostgreSQL:表空間-->資料庫-->表SQL資料庫
- 【讀書筆記】《PostgreSQL指南-內幕探索》-1.資料庫集簇、資料庫和資料表筆記SQL資料庫
- 資料庫 建立 3表資料庫
- 在多資料來源中對部分資料表使用shardingsphere進行分庫分表
- Salesforce和SAP Netweaver裡資料庫表的後設資料設計Salesforce資料庫
- MySQL入門系列:資料庫和表的基本操作MySql資料庫
- MySQL命令檢視資料庫和表容量大小MySql資料庫
- 資料庫系列:覆蓋索引和規避回表資料庫索引
- 【北亞資料庫資料恢復】使用delete未加where子句刪除全表資料的Mysql資料庫資料恢復資料庫資料恢復deleteMySql
- 【Falsk 使用資料庫】---- 資料庫基本操作資料庫
- ABAP資料庫表的後設資料資料庫
- 資料庫怎麼分庫分表資料庫
- MySQL資料庫之分庫分表方案MySql資料庫
- mssql sqlserver 使用sql指令碼 清空所有資料庫表資料的方法分享SQLServer指令碼資料庫
- 【資料庫資料恢復】如何恢復Oracle資料庫truncate表的資料資料庫資料恢復Oracle
- Databricks 第6篇:Spark SQL 維護資料庫和表SparkSQL資料庫
- 資料庫表初始化資料庫
- 資料庫 表單運用資料庫
- Oracle資料庫表碎片整理Oracle資料庫
- 分庫分表插入資料
- Oracle資料庫管理——表資料庫高水位及shrink操作Oracle資料庫
- 大資料資料庫讀寫分離分庫分表大資料資料庫
- GBase 8d 資料庫ldapmodify命令講解和示例分析資料庫LDA