数据库-数据库、基本表、视图的创建,触发器的使用

    xiaoxiao2021-03-25  52

    一、数据库的创建

      create database database_name;  //创建一个数据库  

      drop database database_name;  //删除数据库

    二、基本表的创建

      1. 创建表

        create table 表名

        (

          字段名1 数据类型 [not null] [默认值],

          字段名2 数据类型,

          字段名3 数据类型

        );

      例如:

        create table student

        (

          stu_num int auto_increment,  //自增量

          stu_name char(10) not null,

          stu_gender char(2),

          stu_score int,

          primary key(stu_num),  //主键

          foreign key(stu_name) references 另一张表(stu_name)  //外键

        );

      2. 常用约束

          主键约束: primary key(字段名);  //或在定义字段时直接在后面追加 primary key

        外键约束: foreign key(字段名) references 表名(字段名);

        非空约束: 字段名 数据类型 not null

        唯一性约束: 字段名 数据类型 unique

        默认约束: 字段名 数据类型 default 默认值

        自增量: 字段名 数据类型 auto_increment  //默认初始值为1,增量为1;如需从100开始,可以设置为auto_increment=100

      3. 修改表

        alter table 旧表名 rename 新表名  //修改表名

        alter table 表名 modify 字段名 数据类型;  //修改字段数据类型

        alter table 表名 change 旧字段名 新字段名 新数据类型  //修改字段名

        alter table 表名 add 新字段名 数据类型  //添加字段

        alter table 表名 drop 字段名  //删除字段

      4. 删除表

        drop table [if exist] 表名;

    三、视图的创建

        create view view_name(字段名,字段名,字段名)

        as <select查询语句>

      例如:

        create view stu_sub(stu_num,stu_name)  //创建视图

        as select stu_num,stu_name

          from student;

        drop view stu_sub;  //删除视图

    四、触发器

        create trigger trigger_name  //创建触发器

        on table(表名)

        for insert|delete|update

        as <sql_statement>(sql语句)

      例如:

        create trigger student_backup  //学生备份表随学生表的改变而改变

        on student        

        for insert,delete,update

        as

        begin

          if((select count(*) from deleted) > 0)

          begin

            delete from student_backup

            where stu_name in(select stu_name from deleted)

          end

          if((select count(*) from inserted) > 0)

          begin

            insert into student_backup

            select *

            from inserted

          end

        end

            

      

     

        

        

        

     

    转载请注明原文地址: https://ju.6miu.com/read-34506.html

    最新回复(0)