【整理】常用sql语句

【参考资料】菜鸟教程:https://www.runoob.com/sql/sql-quickref.html
存储过程中的知识点:https://www.cnblogs.com/syp1/p/4094282.html

数据库

# 创建数据库
create database database_name;
# 删除数据库
drop database database_name;

# 创建表
create table table_name(column_name1 data_type, column_name2 data_type, ...);
# 复制表数据
select * into new_table_name from old_table_name;
select column_name(s) into new_table_name from old_table_name where condition;
# 修改表结构
alter table table_name add column_name datatype;
alter table table_name drop column column_name;
alter table old_table_name rename to new_table_name;
# 删除表
drop table table_name;

索引

# 创建索引 unique index唯一索引,index普通索引
create index index_name on table_name(column_name);
or
create unique index index_name on table_name(column_name);
# 删除索引
drop index table_name.index_name(sql server);
drop index index_name on table_name(ms access);
drop index index_name(DB2/oracle);
alter table table_name drop index index_name(mysql);

视图

# 创建视图
create view view_name as select column_name(s) from table_name where condition;
# 展示视图结果
select * from view_name;
# 修改视图
update view view_name set condition;
# 删除视图
drop view view_name;

表数据

# 新增数据
insert into table_name values(value1, value2, value3, ...);
or
insert into table_name (column1, column2, column3, ...)values(value1, value2, value3, ...);
# 更新表数据
update table_name set column1=value, column2=value, ... where some_column=some_value;
# 查询表数据
select * from table_name where column_name in|like|= value group by column_name having column_name operator value;
select column_name(s) from table_name where column_name between value1 and value2;
select column_name(s) from table_name order by column_name [asc|desc];
select distinct column_name(s) from table_name;
select top number from table_name;
select column_name(s) from table_name1 inner|full|left|right join table_name2 on table_name1.column_name=table_name2.column_name

# 删除表数据
delete from table_name where condition;
delete from table_name;  	#!!!仅删除表内的所有数据,并不删除表本身(保留表结构、属性、索引)
delete * from table_name;	#!!!仅删除表内的所有数据,并不删除表本身(保留表结构、属性、索引)
truncate table table_name;	#!!!仅删除表内的所有数据,并不删除表本身(保留表结构、属性、索引)

存储过程

# 创建存储过程
create proc [edure] procedure_name [;number] 
	[{@parameter data_type}
		[varying][=default][output]
	] [,...n]
[with
	{recompile | encryption | recompile , encryption}]
[for replication]
as sql_statement [...n]
-- #procedure_name :局部临时存储过程
-- ##procedure_name :全局临时存储过程
-- number是可选的整数,用来对同名的过程分组,以便用一条 DROP PROCEDURE 语句即可将同组的过程一起除去。
-- @parameter: 存储过程的参数。可以有一个或多个。用户必须在执行过程时提供每个所声明参数的值(除非定义了该参数的默认值)。存储过程最多可以有 2.100 个参数。
-- data_type:参数的数据类型。所有数据类型(包括 text、ntext 和 image)均可以用作存储过程的参数。不过,cursor 数据类型只能用于output参数。
-- varying: 指定作为输出参数支持的结果集(由存储过程动态构造,内容可以变化)。仅适用于游标参数。 
-- default: 参数的默认值。如果定义了默认值,不必指定该参数的值即可执行过程。默认值必须是常量或null。
-- output:表明参数是返回参数。该选项的值可以返回给 exec[ute]。使用output参数可将信息返回给调用过程。Text、ntext 和 image 参数可用作output参数。使用output关键字的输出参数可以是游标占位符。 
-- recompile: 表明sql server不会缓存该过程的计划,该过程将在运行时重新编译。在使用非典型值或临时值而不希望覆盖缓存在内存中的执行计划时,请使用recompile选项。
-- encryption: 表示sql server加密 syscomments表中包含create procedure语句文本的条目。使用 ENCRYPTION 可防止将过程作为sql server复制的一部分发布。 说明 在升级过程中,sql server利用存储在syscomments中的加密注释来重新创建加密过程。 
-- for replication :指定不能在订阅服务器上执行为复制创建的存储过程。.使用for replication选项创建的存储过程可用作存储过程筛选,且只能在复制过程中执行。本选项不能和with recompile选项一起使用。 
-- as:指定过程要执行的操作。

#调用存储过程
execute procedure_name [@参数名=value]  --也可直接为参数值value,字符用单引号

#删除存储过程
drop procedure procedure_name 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值