MySql中数据类型:

  1. 数值型:

    整数类型:int

    小数类型:decimal

    小数格式:decimal(总长度,小数位)

    decimal(5,2) 要求你传递过来的数据总长度是5位,小数位是2位

  2. 日期和时间类型

  1. 字符串类型

char(字符串的长度) 定长

varchar(字符串的长度) 变长

姓名 char(10) tom--->3 10个字符-3=7个字符的空间 剩余的空间不会释放,系统会用空格填充满

varchar(10) tom--->3 还剩下7个字符空间,给释放出来

创建表语法格式:

create table 表名(

​ 列名1 数据类型,

​ 列名2 数据类型,

​ 列名3 数据类型,

​ 列名4 数据类型,

);

删除表

格式:drop table 表名;

删除多张表:drop table 表名1,表名2...

修改表结构

  1. 添加列(属性):

    alter table 表名 add 属性名 数据类型:

  2. 删除列(属性):

    alter table 表名 drop 属性名;

  3. 修改i列的数据类型:

    alter table 表名 modify 列名 新的数据类型

  4. 修改列名(字段):

    alter table 表名 change 旧列名 新列名 数据类型;

  5. 显示表结构

    desc 表名

数据的完整性:指的是数据库中数据的准确性和可靠性

实体完整性约束:

目的:在表中至少有一个唯一的标识,主属性字段中,不能为空,不能重复

  • 主键(primary key)约束:唯一,不重复,不能为空 一个表中有且只有一个主键约束

  1. 创建表的同时创建主键约束

    格式一

    create table 表名(

    ​ 列名1 数据类型 primary key,

    ​ 列名2 数据类型

    );

    格式二:主键约束名字的写法:PK_列名

    create table 表名(

    ​ 列名1 数据类型,

    ​ 列名2 数据类型,

    ​ constraint 主键约束的名字 primary key(列名1)

    );

    格式三:

    create table 表名(

    ​ 列名1 数据类型,

    ​ 列名2 数据类型,

    ​ primarily key(列名1)

    );

  2. 针对已经存在的表,添加主键约束

    格式一:

    alter table 表名 modify 列名 数据类型 primary key;

    格式二:

    alter table 表名 add primary key(列名):

    格式三

    alter table 表名 add constraint 主键约束的名字 primary key(列名)

  3. 删除主键约束

格式:alter table 表名 drop primary key;

联合主键:指的是把两个列看成是一个整体,这个整体是不为空、唯一、不重复

  1. 创建表的同时创建联合主键

  2. 格式二:主键约束名字的写法:PK_列名

    create table 表名(

    ​ 列名1 数据类型,

    ​ 列名2 数据类型,

    ​ constraint 主键约束的名字 primary key(列名1,列名2)

    );

    格式三:

    create table 表名(

    ​ 列名1 数据类型,

    ​ 列名2 数据类型,

    ​ primarily key(列名1,列名2)

    );

  3. 针对已经存在表,添加联合主键

alter table 表名 add constraint 主键约束的名字 primary key(列名1,列名2)

唯一约束 unique

特征:

  1. 不允许有重复的值,保证数据的唯一性

  2. 可以有空值

  3. 在一个表中,可以有多个唯一约束

  4. 默认情况下,唯一约束的名字和列名保持一致

  5. 添加唯一约束的列,系统也会默认给这个列添加一个唯一索引

索引:等同于书本的目录,将来能够加跨数据的查询速度

  • 创建表的同时创建唯一约束

    格式一:

    create table 表名(

    ​ 列名1 数据类型,

    ​ 列名2 数据类型,

    ​ constraint 唯一约束的名字 unique(列名1)

    );

​ 格式二:

create table 表名(

​ 列名1 数据类型 unique,

​ 列名2 数据类型 unique,

​ 列名3 数据类型

);

  • 针对已经存在的表,添加唯一约束

    格式:alter table 表名 add unique(列名);

  • 删除唯一约束

    格式:alter table 表名 drop index 唯一约束的名字

域完整性约束:保证在表中不会输入无效的数据

默认约束 default 当默认约束来修饰某个列的时候,修饰的列即使不写数据也会默认一个值的

  1. 创建表的同时创建默认约束

    格式:create table 表名(

    ​ 列名1 数据类型 default '字符串类型或者日期类型的默认值',

    ​ 列名2 数据类型 default 数值,

    ​ 列名3 数据类型

    );

    1. 针对已经存在的表,添加默认约束

      格式:alter table 表名 modify 列名 数据类型 default '值'

    2. 删除默认约束

      格式:alter table 表名 modify 列名 数据类型;

非空约束 not null 当前列是必须有值

  1. 在创建表的同时创建非空约束

    格式:create table 表名(

    ​ 列名1 数据类型 not null,

    ​ 列名2 数据类型 not null,

    ​ 列名3 数据类型

    );

  2. 针对已经存在的表,添加非空约束

    格式:alter table 表名 modify 列名 数据类型 not null;

参照完整性 foreign key

  1. 创建表的同时创建外键约束

主表(接下来再建新表的时候,要参照的表)

create table 表1(

​ 列名1 数据类型 primary key,

​ 列名2 数据类型,

);

从表(外键约束所在表)

create table 表2(

​ 列名1 数据类型,

​ 列名2 数据类型,

​ constraint 外键约束的名字 foreign key(从表的列名1) references 主表表名1(列名10

);

注意:关于引用的列是要求:从表的列和主表的列,列名可以不一样,但是,这两个列的数据类型和内容必须保持一致

  1. 针对已经存在的表,添加外键约束

    格式:alter table 从表 add constraint 外键约束的名字 foreign key(从表表名1) references 主表表名(主表列名)

  2. 删除外键约束

    格式:alter table 表名 drop foreign key 外键约束的名字

数据库建表原则和方式相关推荐

  1. MySQL数据库建表原则与方式

    目录 一.MySQL数据类型分类 1.MySQL支持所有标准sql数值数据类型 2.日期和时间类型 二.数据库建表方式和原则 1.创建表 2.删除表 3.修改表 4.显示表 一.MySQL数据类型分类 ...

  2. 数据库建表原则,SQL数据库建表前期优化,SQL数据库操作优化,数据库命名规范...

    2019独角兽企业重金招聘Python工程师标准>>> 关键字: 数据库建表原则 ·1. 原始单据与实体之间的关系 可以是一对一.一对多.多对多的关系.在一般情况下,它们是一对一的关 ...

  3. 数据库建表的 15 个最佳实践方式

    前言 对于后端开发同学来说,访问数据库,是代码中必不可少的一个环节. 系统中收集到用户的核心数据,为了安全性,我们一般会存储到数据库,比如:mysql,oracle等. 后端开发的日常工作,需要不断的 ...

  4. (19)一篇掌握MySQL数据库基础下 基本操作(外键约束、建表原则、多表查询、子查询)

    MySQL数据库基础下 一.修改表--添加外键约束 二.多表之间的建表原则 1.建数据库原则:通常情况下,一个项目/应用建一个数据库 2.多表之间的表原则: (1)一对多:分类和商品 (一个分类对应多 ...

  5. 数据库建表的两种经典方式

    数据库建表的两种方法 准备工作 点击右键新建数据库,输入数据库名称即可! 在这里我们数据库的名称为Students,其余默认即可. (1)如下图所示,Students为建好的数据库,接下来建表. 第一 ...

  6. 聊聊数据库建表的15个小技巧

    前言 对于后端开发同学来说,访问数据库,是代码中必不可少的一个环节. 系统中收集到用户的核心数据,为了安全性,我们一般会存储到数据库,比如:mysql,oracle等. 后端开发的日常工作,需要不断的 ...

  7. java 建表 框架_【Java框架型项目从入门到装逼】第九节 - 数据库建表和CRUD操作...

    1.新建学生表 这节课我们来把和数据库以及jdbc相关的内容完成,首先,进行数据库建表.数据库呢,我们采用MySQL数据库,我们可以通过navcat之类的管理工具来轻松建表. 首先,我们得建一个数据库 ...

  8. 数据库建表-- 一对多/多对一/一对一/多对多 关系

     转自: https://blog.csdn.net/zhongshan_c/article/details/8210196 数据库建表-- 一对多/多对一/一对一/多对多 关系 关联映射:一对多 ...

  9. PowerDesigner,如何将Oracle数据库建表语句转化成Mysql数据库建表语句。

    在实际工作中,一张表,我们可能需要在Mysql数据库中建表,又要在Oracle数据库中建表.表中每个字段的数据类型.中文注释.是否可为NULL 问题,非常影响我们建表的效率.本篇文章,以Oracle数 ...

最新文章

  1. 最小生成树(Kruskal )
  2. Struts值栈与Ognl
  3. nyoj - 概率计算 926
  4. mysql5.6主从参数详解
  5. php 转码iconv,PHP iconv()函数转字符编码的问题(转)
  6. 服务器不删档的设置_CCD2服务器已经开启,准备好刷刷刷了吗
  7. 若依前后端分离前端使用Vue3启动教程
  8. matlab生成不重复的随机数_怎么生成不重复随机数——《超级处理器》应用
  9. Haproxy-1.5.x SSL配置
  10. Java单例模式实现(线程安全)
  11. java 神经网络算法_70行Java代码实现深度神经网络算法分享
  12. 中英文翻译、语料库等资料
  13. 三. SECS/GEM封装库RapidSecs开发手记-SECS/GEM基础知识-1
  14. 最短路径BFS算法matlab,数据结构笔记——最短路径BFS算法
  15. 如何用ps制作GIF动图
  16. 网络流量采集(一)概述
  17. jvm精通之柳暗花明
  18. 分类变量 哑变量矩阵 指标矩阵_ML基础:协方差矩阵
  19. 牛客编程语言练习赛第三场(C++)
  20. 指纹支付 java lang6_支付宝;超6成人使用指纹、刷脸支付,网友;喜欢用密码!...

热门文章

  1. “GIIS 2018智能网联汽车产业创新峰会”隆重召开,共探科技出行图景
  2. 一个超好用的论文图片编辑神器---Inkscape(Mark)
  3. vscode如何查看修改过的部分_VS Code 使用小技巧
  4. 小米商城下载APP页面
  5. NKOI 3747 宠物
  6. C# 字符串对象转JSON
  7. 在pycham中生成微信二维码向微信助手发送消息
  8. 银联开发平台银行卡信息查询接口的使用
  9. 怎样在服务器上绑定域名解析,服务器怎么绑定域名 服务器绑定域名方法【详细步骤】...
  10. 网站源码下载项目,小白简单搬运月入1w+