加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mysql学习mysql数据库基本表、视图的创建,触发器的使用

发布时间:2020-12-12 00:48:36 所属栏目:MySql教程 来源:网络整理
导读:《Mysql学习mysql数据库基本表、视图的创建,触发器的使用》要点: 本文介绍了Mysql学习mysql数据库基本表、视图的创建,触发器的使用,希望对您有用。如果有疑问,可以联系我们。 导读:一、数据库的创建 create database database_name; //创建一个数据库

《Mysql学习mysql数据库基本表、视图的创建,触发器的使用》要点:
本文介绍了Mysql学习mysql数据库基本表、视图的创建,触发器的使用,希望对您有用。如果有疑问,可以联系我们。

导读:一、数据库的创建  create database database_name;  //创建一个数据库    drop database database_name;  //删除数据库二、... 一、数据库的创建

  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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读