数据库建表

数据库建表

  • 针对MySQL,要建表必须先建库
  • 如果是Oracle,是先创建用户,给用户分配存储空间(表空间),分配权限,这样子才能创建数据库表

SQL(结构化查询语言Structured Query Language)

  • 什么是SQL:结构化查询语言

  • SQL作用:制定一套关于数据库操作的命令

  • SQL语句分类:

    • DML:数据库操作语言(insert、update、delete)
    • DDL:数据库定义语言(create table、create daatabase、alter table,create user)
    • DCL:数据库控制语言(commit、rollback、grant、revoke)
  • SQL语句的关键字:create,table、database、insert、update、delete、select、alter

如何建数据库

通过工具去查看创建数据库的SQL命令

  • 通过工具创建数据库

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vkV1fWCZ-1570870669147)(en-resource://database/4534:1)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ut0BVQlu-1570870669148)(en-resource://database/4536:1)]

CREAT DATABASE 'test'

创建数据库SQL

  • 语法:creat database 数据库名称
  • 如何利用SQLyog来创建数据库
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述

如何创建表

数据库表的定义是什么

  • 数据库的表就是存放数据的真正的地方
  • 表能够反应出数据库中数据之间的关系

基于SQL语句的方式来创建表

  • 语法
create table 表名{
    列名 数据类型,
    列名 数据类型
}
  • 表就是E-R中的实体,表中列名就是E-R实体中的属性

在这里插入图片描述

数据类型

  • 数据类型:主要是定义一个列存放数据的类型
  • 必须了解的数据类型:
    • 整型:存储整数
    • 浮点型:包含小数点的数据
    • 时间类型:时间戳
    • 字符类型:字母、特殊符号、汉字
  • 整型:int、interge、numeric
  • 浮点型:double、float、numeric(长度,精度)
  • 时间:date、datetime、timestamp
  • 字符类型:varchar(长度)、char(长度)

约束

约束的概念
  • 规范表中数据的完整性、合法性、一致性
约束分类
  • 主键约束
  • 外键约束
  • 检查约束
  • 非空约束
  • 唯一约束
约束的创建方式
  • 通过定义表的同时定义约束

在这里插入图片描述

  • 如果一张表已经创建好,我们通过 alter table方式来添加表的约束
主键约束
  • 关键字:primary key
  • 作用:通过主键修饰的列,数据唯一,且不能为空
非空约束
  • 数据库中NULL代表空
  • 数据库中默认创建的列是为空的
    在这里插入图片描述
默认约束
  • 使用default关键来给列加入一个默认值,如果添加数据的时候没有给定值,则使用默认值
    在这里插入图片描述
唯一约束
  • 设置列的数据要么为空,要么添加数据的时候必须唯一
  • 使用unique关键来设置唯一性
    在这里插入图片描述
检查约束
  • 使用check关键字来生成对某一列中数据校验,比如:判断年龄只能在18~30岁
  • MySQL中无法用了
    在这里插入图片描述
外键约束
  • 外键是关联两张表数据之间的关系,同时用于多表查询时候数据的完整性
  • 如果设置了外键,则在给子表添加数据的时候,外键中的值要么在父表中存在,要么为空。
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值