数据库常用操作

来源:互联网 发布:软件测试的艺术 编辑:程序博客网 时间:2024/04/30 02:17

数据库操作之视图创建和存储过程创建:

假设有如下三张数据库表:

学生表:Student 

         Create table Student(

 

                   SID   VARCHAR(20)   primary key,

                   SName  VARCHAR(20),

                   Sex   VARCHAR(2),

                   Age int,

                   Department VARCHAR(30)

           );

 

课程表:Course

        Create table Course(

 

                   CID   CVARHAR(20)   primary key,

                   CName  VARCHAR(20),

                   CTime int,

                   CScore int

           );   

 

学生-课程表关系:

          Create table SC(

 

                   SID   VARCHAR(20)  primary key,

                   CID   VARCHAR(20)  primary key,

                   Score Double

           );

   

 

   (1)、 视图创建语句,查询出学号、姓名、课程名、成绩

        Create View Stu_View

        As

            Select Student.SID,Student.SName,Course.CName,SC.Score

                from Student,Course,SC

                     where Student.SID=SC.SID and Course.CID= SC.CID;

 

  (2)、创建存储过程,用于向Student表中插入记录,并且用.net代码实现

          Create proc Stu_Proc

                  @SID  VARCHAR(20),

                  @SName  VARCHAR(20),

                  @Sex   VARCHAR(2),

                  @Age int,

                  @Department VARCHAR(30)

         AS

                  Insert into Student values(@SID,@SName,@Sex,@Age,@Department);

        (#a)、可以在查询分析器中执行如下语句实现数据插入:

                      exec Stu_Proc '05205020229','张无忌','男',25,'计算机科学与技术';

        (#b)、可以在VS2005中写代码实现存储过程的调用,如下:

                ....

                using System.Data.SqlClient;

               ....

                .

                .

                .

                          SqlConnection con = new SqlConnection("数据库连接字符串");

                          con.Open();

                          SqlParameter parm = null;

                          SqlCommand cmd = new SqlCommand();

                          cmd.Connection = con;

                          cmd.CommandType = CommandType.StoredProcedure;

                          cmd.CommandText = "Stu_Proc";  //存储过程名

                          //学号

                          parm = new SqlParameter();

                          parm.ParameterName = "@SID";

                          parm.SqlDbType = SqlDbType.VARCHAR;

                          parm.Size = 20;

                          parm.Value = "张无忌";

                          parm.Direction = ParameterDirection.Input;

 

                          cmd.Parameters.Add(parm);

                          

                          //姓名

                          ....

                          //性别

                          ....

                         //年龄

                          ....

                         //系别

                          ....

                          

                         cmd.ExecuteNonQuery();

                         

                 

 

  (3)、SQL语句中的DCL说明

         SQL语句分为三类:DDL(Data Definition Language)数据定义语言、DML(Data Manipulation Language)数据操纵语言、DCL(Data Control Language)数据控制语言。

         DDL中主要是数据库的创建、表的创建、视图及存储过程的创建等。

         DCL中主要是CRUD(Create、Retrieve、Update、Delete)操作。

         DCL中主要是授权(Grant)、拒绝(Deny)、撤销(Revoke)操作。

         下面说明下DCL中三种操作的用法:

          假若允许gogofly对表Student进行CRUD操作,语句如下:

                Grant Insert、Update、Select、Delete ON Student  TO gogofly;

          假若拒绝gogofly对表Student进行CRUD操作,语句如下:

                Deny Insert、Update、Select、Delete ON Student  TO gogofly;     

          若要撤销已经授权的权限的话,使用Revoke语句进行收回:

                 Revoke Insert、Update、Select、Delete ON Student FROM gogofly;

 

原创粉丝点击