数据库基本crud

平时拼接sql语句时,用StringBuffer.append比较好 切忌"+",当然单一的sql增删改查可以用+比较方便

select * from sysobjects where name='testview'//要查询系统是否存在这个视图,触发器。。。。

identity(起始值,步长)//流水号

select 1 from table_1//表示有多少行就会输出多少行个1

insert into table_1 select '1','1'...//快速的插入数据

数据库增删改查
insert into table_1(name,password) values('shi','shi')

delete from table_1 where id='shi'

update table_1 set id='shidili' where id='shi'

select * from table_1


查询涉及到分组的时候:::
HAVING 子句
在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。

SQL HAVING 语法
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value



修改表结构
增加字段:alter table 表名 add 列名 属性
删除字段:alter table 表名 drop column 列名
修改字段:alter table 表名 alter column 列名 属性
修改字段名称  sp_rename 'table.column1','newcolumnname1','column'
//数据库已有不相容数据,修改字段只能对长度进行修改,不能改列名和数据类型alter table 表名 alter column 列名(value)
添加约束:
非空:alter table 表名 alter column 列名(类型int) not null
主键:alter table 表名 add  primary key(列名1,列名2。。。。)
外键:alter table 表名 add  foreign key(列名)references 表名2(列名2)
唯一:alter table 表名 add unique(列名1,列名2。。。。)
检查:alter table 表名 add check(检查条件)




两个表结构之间互相复制

//把表A复制到表Temp_A(必须表Temp_A不存在)
select * into Temp_A from A
//把表2查询出来的数据全部复制到表1中(表1表2都必须存在)
Insert into Table2(a, c, d) select a,c,5 from Table1

表数据赋值
1。表结构相同的表,且在同一数据库(如,table1,table2)

Sql :insert into table1 select * from table2 (完全复制)

           insert into table1 select distinct * from table2(不复制重复纪录)

          insert into table1 select top 5 * from table2 (前五条纪录)

2。   不在同一数据库中(如,db1 table1,db2 table2)

sql:    insert into db1..table1 select * from db2..table2 (完全复制)

           insert into db1..table1 select distinct * from db2table2(不复制重复纪录)

          insert into tdb1..able1 select top 5 * from   db2table2 (前五条纪录)

猜你喜欢

转载自409304740.iteye.com/blog/1467415