• MySQL表定义与完整性约束控制——学习笔记


    数据表是数据库中最重要、最基本的操作对象,是数据库基本的存储单位。

    表中每一行代表一条唯一的记录,每一列(字段)代表记录中的一个域。

    一、数据表的操作

    1、创建数据表

    创建一个表名为stu1的数据表,里面含有学生编号、学生姓名、学生性别、专业四个字段。

    mysql> create table stu1(
        -> sno varchar(20) not null,
        -> sname varchar(20) not null,
        -> ssex enum('','') not null,
        -> zno varchar(4) not null,
        -> primary key(sno)
        -> )
        -> engine=innoDB default charset=utf8 collate=utf8_bin;

    其中,primary key 表示主键,engine为设置表的存储引擎,default charset 为设置表的字符集,collate为设置压缩索引关键字。

    2、查看数据表结构

    1)查看表的名称

     show tables; 

     2)显示表的结构(3种)

    desc stu1;
    describe stu1;
    show create table stu1;

     

     3、修改数据表

    1)修改数据表名,将stu1表改为stu。

    alter table stu1 rename stu;

    2)修改字段数据类型,将原来的varchar(20)修改为varchar(30),利用modify关键字。

    alter table stu modify sname varchar(30);

    3)修改字段名,将ssex改为sex。

    alter table stu change ssex sex varchar(4);

    4)添加数据表字段,添加了一个sbirth字段,类型是date。

    alter table stu add sbirth date not null;

    5)删除字段,删除zno字段。

    alter table stu drop zno;

    6)修改字段排序,将sex放在sbirth的后面。

    alter table stu modify sex varchar(4) after sbirth;

    7)更改表的存储引擎,将原来的innoDB改为myisam。

    alter table stu engine=myisam;

    8)删除表中的外键约束

    alter table stu drop foreign key zno;

    4、复制数据表

    1)复制一个stu2表

    create table stu2 like stu;

    2)选择stu中的某些字段复制成stu3表。

    create table stu3 as select sno,sname from stu;

     5、删除数据表

    drop table if exists stu2,stu3;

     

    6、注意事项

    1)null值和空字符是不一样的

    2)长度小于4的varchar类型会被改变为char类型

    二、MySQL约束控制

  • 相关阅读:
    【MySQL】悲观锁&乐观锁
    选盘秘籍:用户如何选择SSD/SATA/SAS?
    【MySQL】分页优化
    【MySQL】锁问题最佳实践
    【MySQL】锁入门
    【MySQL】SQL优化系列之 in与range 查询
    【DNS】简单聊聊DNS如何工作
    【MySQL】排序原理与案例分析
    git的使用
    关于fastjson与jackson在反序列化bool型时的区别
  • 原文地址:https://www.cnblogs.com/liyanyinng/p/14111281.html
Copyright © 2020-2023  润新知