MySQL 複製表結構
介紹
有時候我們需要原封不動的複製一張表的表結構來生成一張新表,MYSQL提供了兩種便捷的方法。
例:
CREATE TABLE tb_base( id INT NOT NULL PRIMARY KEY, name VARCHAR(10), KEY ix_name (name)) ENGINE='MyISAM',CHARSET=utf8,COMMENT 'a' ;
insert into tb_base() values(1,'a'),(2,'b');
一、LIKE方法
like方法能一模一樣的將一個表的結果複製生成一個新表,包括複製表的備註、索引、主鍵外來鍵、儲存引擎等。
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | (LIKE old_tbl_name) }
1.複製表
CREATE TABLE IF NOT EXISTS tb_base_like (LIKE tb_base);
2.查看錶
可以看到新複製的表和原表完全一致,但是不復制資料。
二、SELECT方法
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name SELECT ... (Some valid selector union statement)
1.複製表
CREATE TABLE IF NOT EXISTS tb_base_select SELECT * FROM tb_base;
2.查看錶
select的方法值複製欄位屬性,其它的主鍵、索引、表備註、儲存引擎都沒有複製
三、區別
like方法:like方法其實是專門複製表結構的方法,但是它只複製表的結構和相關屬性並不複製資料
select方法:嚴格來講select方法不能理解成複製表結構的方法,其實它只是執行了一個select查詢語句,所以複製的結果只包含了select的欄位和資料,其它表屬性都有系統的配置檔案決定;包括儲存引擎、預設字符集等都是有系統的預設配置所決定。
總結
所以真正的表結構複製方法是LIKE方法,如果不需要考慮表原本的屬性包括儲存引擎、備註、主鍵、索引等那麼select複製方法是個不錯的方法並且還能連同資料一起復制。
備註: 本站點所有隨筆都是原創,歡迎大家轉載;但轉載時必須註明文章來源,且在文章開頭明顯處給明連結。 《歡迎交流討論》 |
相關推薦
mysql複製表 結構 表資料
1.只複製表結構到新表 1 CREATE TABLE 新表 SELECT * FROM 舊錶 WHERE 1=2; 或 1 CREATE TABLE 新表 LIKE 舊錶 ; 注意上面兩種方式,前一種方式是不會複製時的主鍵型別和自增方式是不會複製過去的,而後一種方式是
MySQL複製表結構和內容到另一張表中的SQL語句
1.複製表結構及資料到新表 複製程式碼程式碼如下: CREATE TABLE 新表 SELECT * FROM 舊錶 2.只複製表結構到新表 複製程式碼程式碼如下: CREATE TABLE 新表 SELECT * FROM 舊錶 WHERE 1=
MySQL 複製表結構
介紹 有時候我們需要原封不動的複製一張表的表結構來生成一張新表,MYSQL提供了兩種便捷的方法。 例: CREATE TABLE tb_base( id INT NOT NULL PRIMARY KEY, name VARCHAR(10), KEY ix_name (name))
MySQL 複製表結構和表資料
1、前言 在功能開發完畢,在本地或者測試環境進行測試時,經常會遇到這種情況:有專門的測試資料,測試過程會涉及到修改表中的資料,經常不能一次測試成功,所以,每次執行測試後,原來表中的資料其實已經被修改了,下一次測試,就需要將資料恢復。 我一般的做法是:先建立一個副本表,比如測試使用的user表,我在
mysql 複製表以及表結構
1.複製表結構及資料到新表 create table新表select * from舊錶 2.只複製表結構到新表 方法1 :(低版本的mysql不支援,mysql4.0.25不支援,mysql5已經支援了) 建立表
程序媛計劃——mysql修改表結構
normal desc def 查看 score div alua int dup #查看表的結構 mysql> desc score; +------------+--------------+------+-----+---------+------------
MySQL修改表結構
engine win into 不成功 被占用 ima roo 雲上 add 分區表? 環境說明:公司生產庫中,有一張大表,占用了很大一部分空間,大小約240G左右,現在的策略是,每隔一段時間刪除一些表中的數據,但是由於mysql innoDB引擎的優化機制,刪除數據後還
mysql設計表結構數據類型的選擇
只為 存儲引擎 大型 由於 智能 var 直接 最好 pos 選擇合適的數據類型 在使用MySQL創建數據表的時候會遇到一個問題,如何為字段選擇合適的數據類型.比如創建一個員工信息表,每個字段都可以用很多種類型來定義, int,char,float等等. char和v
mysql修改表結構語句
modify cat div name 註釋 comment script drop 語句 一: 修改表信息 1.修改表名 alter table test_a rename to sys_app; 2.修改表註釋 alter table sys_a
mysql 修改表結構
use 默認值 new ear not varchar data 重命名 int 增加列: # 增加列:tag(筆記)、sort_num alter table e_user add tag varchar(50) not null default "筆記" com
在Oracle資料庫中複製表結構和表資料
1. 複製表結構及其資料: create table new_table as select * from old_table 2. 只複製表結構: create table new_tableas select * from old_tablewhere 1=2; 或者:
mysql資料庫表結構定義檔案和儲存引擎檔案
目錄 1.表結構定義檔案: 2.儲存引擎檔案 2.1表空間檔案 2.2重做日誌檔案 3. 如何用frm檔案恢復資料庫結構 1.表結構定義檔案: *.frm 檔案是所有m
mysql 匯出表結構和表資料 mysqldump用法(自己測試了)
命令列下具體用法如下: mysqldump -u使用者名稱 -p密碼 -d 資料庫名 表名 > 指令碼名; 匯出整個資料庫結構和資料 mysqldump -h localhost -uroot -p123456&n
mysql修改表結構 MySQL修改表結構操作命令總結 MySql資料庫在表中新增新欄位,設定主鍵,設定外來鍵,欄位移動位置,以及修改資料庫後如何進行部署和維護的總結 mysql 如何修改、新增、刪除表主鍵
MySQL修改表結構操作命令總結 以下內容轉自:http://www.jb51.net/article/58079.htm 表的結構如下: 複製程式碼程式碼如下:
MySQL常用表結構查詢語句
在我們使用數MySQL據庫進行查詢或者建表時,經常需要查看錶結構,下面以employees資料庫中的departments表為例進行表結構查詢: 方法 1:DESC departments; 方法 2:DESCRIBE departments; 方法 3:SHOW COLUMNS FROM depart
Mysql匯出表結構和資料
匯出資料庫 -- 匯出dbname表結構 mysqldump -uroot -p123456 -d dbname > dbname.sql -- 匯出dbname表資料 mysqldump -uroot -p123456 -t dbname > dbna
Navicat工具匯出Mysql資料表結構到Excel檔案中
------------------------------------------------------------------------ 前言 專案中資料庫設計已經完成,現在到了程式碼實現的階段,資料庫中沒有資料,測試看不出效果,領導要求添點資料,單個
9)-MySQL修改表結構
屬性設置 多個 新的 不想 after 業務 我們 自動增加 完成 MySQL ALTER TABLE語句簡介 可以使用alter table語句來更改現有表的結構。 alter table語句可用來添加列,刪除列,更改列的數據類型,添加主鍵,重命名表等等。 以下說明了a
反向讀取Mysql資料庫表結構到PowerDesigner中
使用PowerDesigner挺長時間了,只是一些簡單的表結構設計,因需要對當前資料庫進行再設計,需要看一下資料庫中所有的表,及表之間的關係,並重新修改表結構,因此需求就是怎麼把資料庫中的表結構反向生成到PowerDesigner中,以下是對該過程的實踐,當前也搜尋了其他同學的方法,便於後期使用即其他
11 mysql 複製表和匯入匯出
1 複製表: 複製mysql的資料表,包括表的結構,索引,預設值 方法一: 1顯示錶的結構 show create table 表名; 2修改表名,執行顯示的sql語句 3 複製全部資料或者指定條件指定欄位的資料 insert&n