create select

sqlserver

创建新表和数据

select * into newtable  from oldtable where col=xxx


插入数据

insert into table1 (col1,col2) select (col1,col2) from table2



条件成功复制表结构和数据 不成功只是复制表结构


创建空表

create table newtable as select * from oldtable where 1!=1;

创建表和数据 

create table newtable as select * from oldtable where 1=1;


在数据库操作中,CREATE语句和SELECT语句是两类重要的语句,各自承担着不同的功能。 ### CREATE语句 CREATE语句主要用于创建数据库、表等数据库对象。例如,可以使用CREATE DATABASE语句来创建一个新的数据库,如创建`crashcourse`数据库的语句: ```sql CREATE DATABASE crashcourse DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; ``` 该语句创建了一个名为`crashcourse`的数据库,并指定了字符集和排序规则 [^5]。 另外,还有CREATE TABLE语句用于创建表,如CREATE TABLE AS SELECT的方式可以根据查询结果创建新表,但需要注意这种方式新表主键定义失效,包含主键,唯一,外键,check约束,分区,索引以及列的默认值不会带到新表。通过sp_set_para_value动态参数修改后,除了部分可以复制外,外键始终都无法复制 [^4]。 ### SELECT语句 SELECT语句主要用于从数据库中查询数据。它的语法顺序和在内存中的执行顺序都有特定规则。其内存执行顺序大致可分为10步: 1. From:计算两个表的笛卡尔积,得到一个虚拟表V1,这是所有SELECT语句最先执行的操作,后续操作都基于V1进行。 2. On:从V1中筛选出符合条件的数据,形成虚拟表V2。 3. Join:将该join的数据补充到V2,形成V3。 4. Where:执行筛选(不能使用聚合函数),得到V4。 5. Group By:对数据进行分组,得到V5。 6. Having:对分组后的数据进行筛选(可以用聚合函数),筛选结果为V6。 7. Select:得到返回列的数据V7。 8. Distinct:去重,过滤掉重复数据,得到V8。 9. Order By:排序,得到V9。 10. Limit:返回需要的行数 [^2]。 此外,SELECT语句还可以和INSERT语句结合使用,如`insert into b(a, b, c) select d,e,f from b in ‘具体数据库’ where条件`,可将查询结果插入到指定表中 [^1]。 ### 二者区别 CREATE语句侧重于数据库对象的创建,是对数据库结构的操作;而SELECT语句侧重于从数据库中获取数据,是对数据库内容的查询操作。并且在关键字执行顺序上,一般是先使用CREATE创建好相应的数据库对象,之后才可以使用SELECT进行查询操作。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值