常用SQL语句

Posted 水墨晨诗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用SQL语句相关的知识,希望对你有一定的参考价值。

技术分享图片
create table tableName(
    columnName nvarchar(20) not null default默认值,
    columnName1 nvarchar(20) null,
    columnName2 int identity(1,1)--创建自增长字段
    CONSTRAINT PK_TableName PRIMARY KEY(columnName),
    CONSTRAINT UK_TableName UNIQUE (columnName),
    /*Checks*/
    CHECK (columnName>0)
)
创建表

 

技术分享图片
drop table tableName
删除表

 

技术分享图片
alter table [dbo].[tableName] 
add columnName nvarchar(20) not null;
为表增加字段

 

技术分享图片
alter table [dbo].[tableName] 
add constraint PK_tableName primary key(columnName);
-- alter table tableName add primary key (columnName);

alter table [dbo].[tableName] 
add constraint UK_tableName UNIQUE (columnName);
--alter table tableName add UNIQUE (columnName);
为表增加主键/唯一键

 

技术分享图片
alter table [dbo].[tableName] 
alter column columnName nvarchar(20);
修改字段类型

 

技术分享图片
alter table tableName [WITH NOCHECK]
ADD CONSTRAINT <约束名> FOREIGN KEY (<字段>)
REFERENCES <引用的表名>(<字段>)
[ON <UPDATE | DELETE<NO ACTION | CASCADE | SET NULL| SET DEFAULT>];
--WITH NOCHECK:如果增加约束时不需要对现有的数据进行约束检查,可选用此项;
-- NO ACTION:当父表中的行被更新(删除)时,则产生错误,并撤销对数据的操作。
-- CASCADE: 当父表中的行被更新(删除)时,同时更新(删除)子表中相依赖的行
-- SET NULL:当父表中的行被更新(删除)时,将子表中相依赖行中相应字段的数据设为空。
-- SET DEFAULT:同上;
[]:可选 <>:必选
约束(外键)

 

技术分享图片
ALTER TABLE tableName [WITH NOCHECK]
ADD CONSTRAINT <约束名> CHECK (<check_condition>);
--alter table employee WITH NOCHECK 
  ADD CONSTRAINT check_age
  CHECK(age>18);
约束(check检查)

 

技术分享图片
关闭:alter table tableName NOCHECK CONSTRAINT checkName;  
删除:alter table tableName DROP CONSTRAINT checkName;
--修改字段名:
execute sp_rename dbo.tableName.columnName_old,columnName_new
关闭约束/删除约束

 

技术分享图片
alter table tableName
drop column columnName
删除字段

 

技术分享图片
CREATE INDEX<index_name> ON tableName (columnName[,cloumnName1]);
创建索引

 

技术分享图片
DROP INDEX <index_name> ON tableName
删除索引

 

技术分享图片
select name,age,sex=case when sex=F then  when sex=M then  end from PEOPLE_TEST
case 语句的使用

 

技术分享图片
--创建视图(只能写select语句,并且一个视图只能写一个select语句)
CREATE VIEW viewName as <select statement>;

-- 更新视图(条件:1、视图必须未涉及连接。2、视图必须不包含Group by 子句。3、不能使用distinct子句。4、where 子句不能包含表的嵌套引用)
update viewName set age=age+1 where studentID=080808

--修改视图
alter view viewName as select_statement

--删除视图
drop view viewName
视图

 

 

 

技术分享图片
--创建临时表:(一个#说明是局部临时表,两个#说明是全局临时表)
create table #temp_stu(    
    name nvarchar(20),
    num nvarchar(20)    
)
--删除临时表:drop table #temp_stu

--创建临时表(2):temp_stu1,查询people_test中的数据,并将数据插入到temp_stu1中去
select name,age into #temp_stu1 from  PEOPLE_TEST
临时表

 

以上是关于常用SQL语句的主要内容,如果未能解决你的问题,请参考以下文章

面试常用的代码片段

Mybatis动态sql技术

sql语句中嵌套时候用in 和=有啥区别

sql语句 嵌套查询 排序

MYBATIS05_ifwherechoosewhentrimsetforEach标签sql片段

[AndroidStudio]_[初级]_[配置自动完成的代码片段]