mysql copy表或表數據常用的語句整理彙總. 假如我們有以下這樣一個表: 1. 下麵這個語句會拷貝表結構到新表newadmin中。 (不會拷貝表中的數據) 2. 下麵這個語句會拷貝數據到新表中。 註意:這個語句其實只是把select語句的結果建一個表。所以newadmin這個表不會有主鍵,索引 ...
mysql copy表或表數據常用的語句整理彙總.
假如我們有以下這樣一個表:
id username password
-----------------------------------
1 admin *************
2 sameer *************
3 stewart *************
#SQL
CREATE TABLE IF NOT EXISTS `admin` (
`id` int(6) unsigned NOT NULL auto_increment,
`username` varchar(50) NOT NULL default '',
`password` varchar(100) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
1. 下麵這個語句會拷貝表結構到新表newadmin中。 (不會拷貝表中的數據)
CREATE TABLE newadmin LIKE admin
2. 下麵這個語句會拷貝數據到新表中。 註意:這個語句其實只是把select語句的結果建一個表。所以newadmin這個表不會有主鍵,索引。
CREATE TABLE newadmin AS
(
SELECT * FROM admin
)
3. 如果你要真正的複製一個表。可以用下麵的語句。
CREATE TABLE newadmin LIKE admin;
INSERT INTO newadmin SELECT * FROM admin;
4. 我們可以操作不同的資料庫。
CREATE TABLE newadmin LIKE shop.admin;
CREATE TABLE newshop.newadmin LIKE shop.admin;
5. 我們也可以拷貝一個表中其中的一些欄位。
CREATE TABLE newadmin AS
(
SELECT username, password FROM admin
)
6. 我們也可以將新建的表的欄位改名。
CREATE TABLE newadmin AS
(
SELECT id, username AS uname, password AS pass FROM admin
)
7. 我們也可以拷貝一部分數據。
CREATE TABLE newadmin AS
(
SELECT * FROM admin WHERE LEFT(username,1) = 's'
)
8. 我們也可以在創建表的同時定義表中的欄位信息。
CREATE TABLE newadmin
(
id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY
)
AS
(
SELECT * FROM admin
)
9.MySQL複製表結構及數據到新表
CREATE TABLE 新表 SELECT * FROM 舊表
10.Mysql只複製表結構不複製數據
CREATE TABLE 新表
SELECT * FROM 舊表 WHERE 1=2
即:讓WHERE條件不成立.
11.複製不同結構的表
create table 新表(欄位1,欄位2,,,) SELECT 欄位1,欄位2... FROM 舊表