關於MYSQL 表相關的操作

2021-06-23 09:27:13 字數 1682 閱讀 8363

關於mysql 表相關的操作

1. 建立表 create table 

具體的可以查相關的 聯機幫助文件 。 主要講點不同的點

mysql 中的表 有多種型別,主要是有儲存引擎的區別,

mysql中的臨時表 是 create temporary 建立的,這點與mssql中是有差別的,而且mssql中的臨時表是存放在tempdb系統庫的。

create [temporary] table [if not exists] tbl_name

[(create_definition,...)]

[table_options] [select_statement]

或:create [temporary] table [if not exists] tbl_name

[(] like old_tbl_name [)];

從以上的 簡單語法當中 可以看出來mysql 中 

a.建立 表時 可以指定if not exists 直接建立,

而mssql 中 需要用object_id 函式來判斷

b.複製表結構 可以利用 like 某乙個表物件,(會包含索引,觸發器等),也可以利用 select 語句 ,

mssql當中 比較簡單的只能是利用 select 查詢語句(這不包含索引,約束,觸發器這些)

c.詳細的 比較大差異,mysql 中 的table option ,以及 partition  相關的

table option 中 可以指定 表的 儲存引擎, 字符集,比較集,最大、小行數,平均行大小,自增長的初始值 等等

在mssql 中 表大小 :表的行數及總大小僅受可用儲存空間的限制。 自增列的初始以及步長 都是在identity指定。

partition option 主要與sql的區別是 mysql 中不需要去建立 相關的分割槽函式,分割槽架構之類的。不過只有相應的幾種分割槽型別。

d。還有一點比較特別的是 mysql 在建立表的時候 可以直接指定列建立全文索引 ,sql中則不行,是單獨的,

但是他們也都可以 在建立表的時候指定 列建立 unique,primary key 索引。

2. 修改表 alter table

詳細的語法 請查幫助文件

特別點:

a. 新增列時可以指定 位置 first /after colname

b. 修改列的 刪除預設值約束 可以直接指定drop default ,這點在mysql中 得通過系統表找到對應的預設約束名來刪除。

c. 修改列 可以用 change 指定重新修改列定義 以及 名字。

e. 刪除主鍵 可以直接指定drop primary key 

3. 重新命名表 rename table 

在mysql 中 alter table 可以指定rename 修改,也可以用rename table 同時修改多個表

在mssql 中 要修改表名 需要 用 sp_rename 過程,但是mysql中庫名是不允許修改的,在sql中可以。

4.刪除表 drop table

在mysql 中 可以指定 if exists 來避免錯誤

5.檢視庫里的表 show tables;

6. 檢視具體表的 指令碼  show create table tbname 還可以正則匹配。

7.還有一點特別的就是 mysql 中 可以 利用increament 以及 primary key   來實現  按組 自增.

表相關操作

使用t sql建立表 use database name 指向操作的資料庫 go 批處理的標記 create table table name 新建表 column name 資料型別 identity 1000,1 not null,最後一列不需要逗號 go說明 資料型別 int varchar ...

Mysql匯出表 匯入表相關操作

匯出資料 set gtid purged off注意此引數新增後匯出的指令碼帶binlog,否則主從同步會出問題 1 備份全部資料庫的資料和表結構 mysqldump uroot ppassword a all.sql set gtid purged off 2 只備份表結構,不備份資料 mysql...

順序表相關操作

include define max 100 定義順序表的最大值 順序表的定義 typedef struct sequence list 函式功能 順序表的初始化 置空表 函式引數 指向sequenc list型變數的指標head 函式返回值 空 檔名 sequenc list.h 函式名 slt ...