sql 自学二

来源:互联网 发布:网络意识形态 论文 编辑:程序博客网 时间:2024/04/28 04:46

一.操作数据

1. 插入语句:INSERT 语句允许你向数据库中输入数据,它有两种写法:

INSERT VALUES INSERT SELECT

a.  insert values语句:insert into table_name (col1, col2...) values (value1, value2...)

b.  insert select 语句:它允许程序员拷贝一个或一组表的信息到另外一个表中。

Insert into table_name (col1, col2...) select col1, col2...from tablename where……

INSERT SELECT 语句要求你遵循如下规则

l SELECT 语句不能从被插入数据的表中选择行

l INSERT INTO 中的列数必须与SELECT 语句返回的列数相等

l INSERT INTO 中的数据类型要与SELECT 语句返回的数据类型相同

2. update 语句

         Update table_name setcolumnname1 = value1 [, columname2 = value2]...

Where search_condition

SQL SERVER允许使用FROM 子句实现对给定表的记录用其它表中的数据来进行更新操作.

Update table_name SET columnname1 = value1 [, columname2 = value2]...

FROM table_list WHERE search_condition

     3. delete 语句

       语法格式(delete 语句只会删除记录不会删除表如果要删除表需使用DROP TABLE

命令)

        Delete  from tablename where condition

二.创建和操作表

数据定义语句:create alter drop

数据操作语句:select updateinsertdelete

1.       create database语句:create database database_name 

create table语句:create table table_name (field1 datatype [ NOT NULL ]

field2 datatype [ NOT NULL ]

2.       用一个已经存在的表来创建表

  CREATE   TABLE   NEW_TABLE(FIELD1,   FIELD2,   FIELD3)  
  AS   (SELECT   FIELD1,   FIELD2,   FIELD3  
  FROM   OLD_TABLE   <WHERE...>

3.       alter table语句

   加入一列到已经存在的表中, 修改已经存在的表中的某一列

alter table table_name <ADD column_name data_type; |

modify column_name data_type;>

4.       drop table 语句:drop table table_name

drop database语句:drop database database_name

 

三.创建视图和索引

1.       视图被称为虚表,用create view 语句来建立

  CREATE VIEW <view_name> [(column1, column2...)] AS

SELECT <table_name column_names>

FROM <table_name>

2.     索引是与磁盘上数据的存储方式不同的另外一种组织数据的方法,索引的特例是表中记录依据其在磁盘上的存储位置显示,索引可以在表内创建一个列或列的组合。当应用索引以后,数据会按照你使用CREATE INDEX 语句所定义的排序方式返回给用户。

3.     使用视图

Create view和语法:

Create view <view_name> [(column1, column2...)] AS

Select <table_name column_names>

FROM <table_name>

4.     select语句使用约束:在视图的SELECT 语句中使用约束是必然的在使用SELECT 语句中可以应用下边这两个规则:

   l 不能使用 UNION 操作

l 你不能使用 ORDER BY

5 使用索引

索引的语法:

Create index index_name on table_namename(column_name1, [column_name2], ...)

四.事物处理控制

  开始事物begin ,结束事物commit,取消事务rollback

五.数据库安全

1.       创建用户

 CREATE USER user

IDENTIFIED {BY password | EXTERNALLY}

[DEFAULT TABLESPACE tablespace]

[TEMPORARY TABLESPACE tablespace]

[QUOTA {integer [K|M] | UNLIMITED} ON tablespace]

[PROFILE profile]

2.       创建角色

  GRANT role TO user [WITH ADMIN OPTION]

 如果想删除角色可以使用REVOKE 命令:revoke role from user

六.高级sql

1.     创建临时表

   create table #table_name (field1 datatype,……fieldn datatype)

2.游标:数据库指针类似于字处理程序中的指针。当你按下方向键时游标依次从各行文本中滚动,按一下向上键游标向上跳一行而按PageUp PageDown 则会向一次翻阅几行

游标的另一个常见的用法是保存查询结果以备以后使用。

创建、使用和关闭数据库游标的例子:

Create the cursor

Open the cursor for use within the procedure or application.

Fetch a record's data one row at a time until you have reached the end of the cursor's records.

Close the cursor when you are finished with it.

Deallocate the cursor to completely discard it.

3.       创建和使用存储过程

a.使用Transcat-SQL 来创建存贮过程的语法如下:

create procedure procedure_name

[[(]@parameter_name

datatype [(length) | (precision [, scale])

[= default][output]

[, @parameter_name

datatype [(length) | (precision [, scale])

[= default][output]]...[)]]

[with recompile]

as SQL_statements

b.运行存贮过程的EXECUTE 命令的语法如下:

execute [@return_status = ]

procedure_name

[[@parameter_name =] value |

[@parameter_name =] @variable [output]...]]

[with recompile]

C.在存储过程中使用参数输入参数

必须以@提示符开始而且这些参数必须是Transcat-SQL 的合法数据类型

输出参数也必须以@提示符开始,此外OUTPUT 关键字必须紧跟着输出参数的名字.(

你在运行存贮过程时你必须给出OUTPUT 关键字)

d. 删除一个存储过程

drop procedure procedure_name

原创粉丝点击