数据库基本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 列名 属性 www.zzzyk.com
删除字段: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