• MySql数据库_01


    数据库基础_笔记01

    2019年11月12日

    表的创建与管理

    如何创建一个表

    在clc模式下创建一个表语法如下
    CREATE TABLE table_name
    (
    属性名 数据类型 【约束条件】【默认值】
    属性名 数据类型 【约束条件】【默认值】

    );

    create table xs_qk(
    学号 char(10) not null primary key,
    姓名 varchar(10) not null,
    课程 char(3),
    成绩 tinyint);
    

    在这里插入图片描述

    表约束

    一个数据库由多个表组成,表约束就是确定表之间的关联关系。
    表约束包括 主键约束、外键约束、非空约束、唯一性约束和默认约束。

    (主键约束)

    主键可多列组成,主键用于唯一标识数据表中的一条记录(primary key constraint)
    ps:主键不可取空值,主键应对应一个实体完整性,一个数据表中只能定义一个主键(是只能定义,不是只能是一条),主键与外键结合后,可以定义不同数据表之间的关系(这可以加快数据库查询的速度)

    多字段联合主键(多联主键)

    create table xs_qk(
    学号 char(10) not null,
    姓名 varchar(10) not null,
    课程 char(3),
    成绩 tinyint,
    primary key (学号,姓名));  //定义了学号,和姓名两个主键
    

    在这里插入图片描述
    查询此表详情

    show create table xs_qk;
    

    在这里插入图片描述
    DESC命令也可以查询表结构

    desc xs_qk;
    

    在这里插入图片描述
    单字段主键
    在这里插入图片描述

    (外键约束)

    外键指不是本表的主键,但是另一个表的主键。
    ps:外键用于两个表建立链接,一个表可以有一个或多个外键,外键应对应完整性,定义外键后,外键可以为空值,如不为空,,则必须与另一个表中的某个主键值相同,对于两个表,主表是主键所在表,从表是外键所在表,当主表中数据更新后,从表中的数据也会自动更新。

    外键语法:
    【CONSTRAINT<外键名>FOREIGN KEY 字段名1【,字段名2,…】REFERENCES<主表名>主键列1【,主键列2…】
    其中,“外键名"是定义的外键约束名,“字段名”是从表定义为外键的列名,“主表名”是被从表所依赖的表明,“主键列”是主表中的主键列名。
    在这里插入图片描述

    (非空约束)

    指字段值不能为空,如为空属性,用null表示。
    在这里插入图片描述

    (默认约束)

    顾名思义,默认,如果不输入就是默认值。
    在这里插入图片描述

    (唯一性约束)

    用于保证列中不出现重复数据,唯一性约束实现了实体完整性规则。
    在mysql中,唯一性约束可以为NULL,可以重复加入含有NULL,的记录,但主键字段不能为NULL;一个字段中只能有一个主键约束,但可以定义多个唯一性约束。

    在这里插入图片描述

    ps:
    对于非空约束
    1、非空约束指字段的值(数据)不能为空
    2、对于指定了非空约束字段,如果在添加时未指定值,会报错
    3、主键约束同时也隐含了非空约束,主键不能取空值

    对于主键约束
    1、主键只能定义一个主键(多个列的主键也是一个主键)
    2、主键不能取空值

  • 相关阅读:
    Docker常用基础命令详解
    Docker安装教程(超详细)
    IDEA 新建 Java 项目 (图文讲解, 良心教程)
    SpringBoot2.0之@Configuration注解
    idea的安装和无限期试用
    vue 取消上次请求
    calc()使用通用的数学运算规则,但是也提供更智能的功能:
    pdfh5 移动端 查看pdf
    Git处理Failed to connect to www.google.com port 80: Timed out
    对象排序
  • 原文地址:https://www.cnblogs.com/cqnswp/p/12568889.html
Copyright © 2020-2023  润新知