mysql创建表语句like_MySQL的createtableas与like的使⽤1.MySQL复制相同表结构的⽅法:
-- 1.使⽤AS复制相同的表结构
CREATE TABLE table_name AS SELECT * FROM other_table WHERE 1=2;(或者LIMIT 0)
-- 2.使⽤LIKE复制相同的表结构
CREATE TABLE table_name LIKE other_table;
2.复制表的数据
复制全部数据 注意:复制全部数据 列的类型要相同
INSERT INTO table_name SELECT * FROM other_name;
或者复制指定的列
INSERT INTO test_index_tbl1 (
test_index_tbl1.`id`,
test_index_tbl1.`name`,
test_index_tbl1.`author`,
test_index_tbl1.`info`
) SELECT id, NAME, author, info
FROM
test_index_tbl;
mysql语句转oracle3.AS与LIKE的⽤途
AS:⽤来创建相同表结构并复制源表数据(可根据后⾯的条件来控制要不要复制源表数据)
LIKE:⽤来创建完整表结构和全部索引。jquery ui 图片下载不了
⽰例:book表作为测试使⽤
①.使⽤SHOW CREATE TABLE 查看表的创建语句
SHOW CREATE TABLE book ;
结果:
CREATE TABLE `book` (
quartus ii使用教程`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`author` varchar(20) NOT NULL,
`info` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `author` (`author`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8
对于switch语句下的case语句
②.使⽤AS复制book表
CREATE TABLE table_name as SELECT * FROM book;
③.查看table_name的创建语句
SHOW CREATE TABLE table_name ;
结果:
CREATE TABLE `table_name` (
`id` int(11) NOT NULL DEFAULT '0',
`name` varchar(50) NOT NULL,
`author` varchar(20) NOT NULL,
`info` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
使⽤AS复制源表,结论:
对⽐两次查询的创建语句发现,AS复制了表的源数据和结构,但没有复制索引和主键的设置。再测试LIKE复制表
①.使⽤LIKE复制表
javascript悟道CREATE TABLE table_name LIKE book;
②.查询book(源表)的创建语句
结果:
CREATE TABLE `book` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`author` varchar(20) NOT NULL,
`info` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`), KEY `author` (`author`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8
有哪些程序设计语言③.查询table_name(复制表)的创建语句
结果:
CREATE TABLE `table_name` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`author` varchar(20) NOT NULL,
`info` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `author` (`author`)
)
ENGINE=InnoDB DEFAULT CHARSET=utf8
对⽐两次结果发现完完全全的复制了源表的结构包括索引信息。
结论:
AS:⽤来创建相同表结构并复制源表数据(可根据后⾯的条件来控制要不要复制源表数据)
LIKE:⽤来创建完整表结构和全部索引。(可以使⽤INSERT INTO和SELECT语句复制源表的所有数据 ) INSERT INTO table_name SELECT * FROM book;
4.AS与LIKE的区别:
AS:创建出来的table_name 缺少源表的索引信息,只有表结构相同,没有索引。
LIKE:创建出来的新表包含源表的完整结构和索引信息。
补充:Oracle⽀持AS,即只有表结构没有索引,Oracle不⽀持LIKE
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论