首页 > 数据库 >mysql表结构的完整描述(详细教程)

mysql表结构的完整描述(详细教程)

时间:2024-09-26 11:49:47浏览次数:9  
标签:comment 教程 varchar name key mysql null id 描述

mysql表结构的完整描述图示 ---用于显示表的结构,涵盖了每个字段的属性(这里描述5个)。

一、desc(describe)命令的输出标签

1、Field(字段名)

  • 描述: 列的名称。字段名用于标识表中的数据。

  • 用途: 字段名是访问表数据的关键,操作 SQL 查询时引用字段名来选择、更新或删除数据。
  • 命名规则: 避免使用 SQL 保留字(如 SELECTWHERE),字段名应具有描述性,以便代码的可读性和维护性。例如,employee_namename 更具描述性。
  • 常见问题: 避免使用特殊字符或空格,字段名应该遵循一致的命名约定,例如使用下划线分隔单词(first_name)。

 2、Type (数据类型)

  • 描述: 列的数据类型,定义了数据的存储方式和格式。
  • 基本数据类型

1.1、数值类型
  • 整型:
    • bigint
    • int(或 integer)
    • mediumint
    • smallint
    • tinyint
  • 浮点型:
    • decimal(或 numeric)
    • double
    • float
1.2、字符串类型
  • 字符类型:
    • varchar(n) (可变长度)
    • char(n) (固定长度)
  • 文本类型:
    • longtext
    • mediumtext
    • text
    • tinytext
  • 二进制类型:
    • longblob
    • mediumblob
    • blob
    • tinyblob
    • varbinary(n)
    • binary(n)
1.3、日期和时间类型
  • 日期类型:
    • year
    • time
    • timestamp
    • datetime
    • date
1.4、枚举和集合类型
  • enum:一个字符串对象,可以取预定义的值。

  • set:一个字符串对象,可以包含零个或多个预定义值。
1.5、son类型
  • json:用于存储 json 格式的数据。

长度和精度: 数值类型可以设置最大长度(例如 varchar(255)),浮点数可以设置总位数和小数位数(例如 decimal(10,2)

3、Null (是否允许 NULL)

  • 描述: 列是否可以包含 null值,默认不写是允许空值
  • 允许:null允许空值
  • 不允许:not null不允许为空值
  • 插入数据: 当字段允许 null时,你可以在插入数据时选择不提供该字段的值,MySQL 将自动将其设置为 null。
  • 查询数据: 查询中可以使用 is null 或 is not null 来筛选包含 null 或不包含 null 的记录。
  • 比较: 在 SQL 中,null 不等于任何值(包括另一个 null),比较时需要使用 is null 进行检查。

4、Key (键、索引)---基于某个列

  • 描述: 列是否有索引,以及索引的类型。---show index from employeetable;(显示所有索引)
key键的类型:
主键(primary key):
  • 用于唯一标识表中的每一行,不能有重复值且不能为空。
  • #创建name表时写入(主键):
    create table name(
    id int(9) not null primary key comment'序号',
    name varchar(8) comment'名字',
    sex enum('男','女')comment'性别', 
    school varchar(30) default'柳州大学' comment'学校'
    )comment ='信息登记表';

# 创建name4表时写入(复合主键):
create table name4 (
    id int(9) not null comment '序号',
    name varchar(9) not null comment '姓名',
    sex enum('男', '女') comment '性别',
    school varchar(99) default '柳州大学',
    primary key (id, name) comment'定义复合主键' 
   ) comment = '信息登记表'; 

# 向name2表添加一个(主键):
alter table name2 add  primary key(id ); 

# 向name3表添加(复合主键)
alter table name3 add primary key(id,name);

外键(foreign key): 
  • 用于在两个表之间建立关系,确保引用完整性,子表参照父表数值要一致。

# 创建wai表是写入外键---(constraint约束)

  • create table wai (
    id int(9) not null comment'序号',
    name varchar(9) not null comment'名字',
    sex enum('男','女') comment'性别',
    school varchar(9) default'柳州大学' comment'柳州大学',
    foreign key(id) references name(id) # 外键参照name表的id列
    )comment ='登记信息表';

标签:comment,教程,varchar,name,key,mysql,null,id,描述
From: https://blog.csdn.net/qq_54523516/article/details/142515200

相关文章

  • Windows环境安装配置nodejs详细教程
    Windows下安装及配置Node.js环境Windows下安装Node.js一、Node.js是什么?二、npm是什么三、环境搭建四、环境配置五、测试六、配置淘宝镜像Windows下安装Node.js一、Node.js是什么?Node.js是一个基于ChromeV8引擎的[JavaScript运行环境]。Node.js使用了一个事件驱动、非阻塞式I/O......
  • mysql子查询跟关联查询
    MySQL的复杂查询复杂查询主要包括视图、子查询和关联子查询1.视图先介绍一下视图:·从SQL的角度来看,视图和表是相同的,两者的区别在于表中存储的是实际的数据,而视图中保存的是SELECT语句(视图本身并不存储数据)。使用视图可以轻松完成跨多表查询数据等复杂操作。视图中不......
  • Linux CentOS 7.9 系统 免费安装 MySQL 8.0.31:简易指南
    一:MySQL介绍在当今数字化时代,MySQL已成为最流行的开源数据库之一,无论是用于开发网站应用程序、数据存储或其他多用途的数据库需求,MySQL以其强大的功能和灵活性受到了广泛的青睐。本文将带领你通过简单的步骤,免费安装MySQL8.0.31,助你轻松搭建高效的数据库环境!二:MySQL......
  • 实战教程!Zabbix 监控 Spark 中间件配置教程
    本文将介绍以JMX方式监控Spark中间件。JMX具有跨平台、灵活性强、监控能力强、易于集成与扩展、图形化界面支持以及安全性与可配置性等多方面的优势,是监控Spark等复杂Java应用程序的重要工具之一。ApacheSpark是一个开源的大数据处理框架,它提供了快速、通用和可扩展的数据处理......
  • Mysql 常用方法和函数(查询)
    查询所有记录SELECT*FROMsys_user;加别名SELECTsys_user_id用户主键,sys_user_name登录名,sys_user_password密码,sys_user_phone手机号,sys_user_email邮箱,sys_user_card身份证号,sys_user_address地址FROMsys_user;查询用户主键为2的数据SELECT*F......
  • 一键去水印小程序源码系统 下载无水印的高清图片 带完整的安装代码包以及搭建部署教程
    系统概述一键去水印小程序源码系统是一款专为图片去水印设计的软件开发包(SDK),它集成了先进的图像处理技术和智能识别算法,能够自动识别并去除图片中的水印,同时保持图片的高清画质不受损。该系统支持多种图片格式,包括但不限于JPEG、PNG、GIF等,广泛适用于电商、设计、教育、自媒体......
  • 家庭医生上门服务小程序源码系统 带完整的安装代码包以及搭建部署教程
    系统概述家庭医生上门服务小程序源码系统是一款专为医疗机构、健康服务平台及有意愿涉足健康服务领域的创业者设计的一站式解决方案。该系统集成了预约挂号、在线问诊、健康档案管理、药品配送、健康资讯推送等多种功能于一体,旨在通过移动互联网技术,打破传统医疗服务的时空限......
  • .NetCore MySqlException 多线程中(There is already an open DataReader associated w
    问题描述:其实标题只是遇到问题的其中之一,遇到三种异常信息如下:Lockwaittimeoutexceeded;tryrestartingtransaction大概意思:超过锁定等待超时;尝试重新启动事务 ThereisalreadyanopenDataReaderassociatedwiththisConnectionwhichmustbeclosedfirst.大......
  • Ubuntu 安装Mysql+Redis+Nginx
    一、安装MySql1.新系统需要安装一下更新aptupdate-yaptdist-upgrade-yaptinstall-ywget2.安装mysql,并修改配置aptinstall-ymysql-servermysql配置文件通常位于vi/etc/mysql/mysql.conf.d/mysqld.cnf在[mysqld]把bind改成0.0.0.0,增加连接数,修改mode,开......
  • PCL 3D特征描述子
    特征描述子FeatureDescriptor是每个特征点独特的身份认证同一空间点在不同视角的特征点具有高度相似的描述子不同特征点的描述子差异性尽量大通常描述子是一个具有固定长度的向量描述子可以分为以下几种类型:基于不变性的描述子、基于直方图的描述子、二进制描述子PC......