mysql表定义语法详细介绍


mysql表定义语法详细介绍

首先我们都知道只有成功创建数据库后,才能创建数据表,数据表是字段的集合,在表中数据按行和列的格式存储。

创建表

MySQL 使用 CREATE TABLE 创建表。其中有多个选择,主要由表创建定义(create definition)、表选项定义(table options) 和区分选项(partition options)等内容构成。

表创建定义

由表列的名字、列的定义集可能的一个空值声明、一个完整性约束或表索引项组成,表索引项主要定义表的索引、主键、外键等。

(在线学习视频教程推荐:mysql视频教程)

语法结构

CREATE[TEMPORARY]TABLE tbl_name
(
    字段名|数据类型[列级完整性约束条件][默认值]
    [,字段名2 数据类型[列级完整性约束条件][默认值]]
    [,....]
    [,表级完整性约束条件]
)[ENGINE=引擎类型]

Example:
新建一个客户信息

mysql> USE mysql_test
Database changed
mysql> CRATE TABLE customers
    ->(
    -> cust_id INT NOT NULL AUTO_INCREMENT,
    -> cust_name CHAR(50) NOT NULL,
    -> cust_sex CHAR(1) NOT NULL DEFAULT 0,
    -> cust_address CHAR(50) NULL
    -> cust_contact CHAR(50) NULL
    -> PRIMARY KEY(CUST_ID)
    ->)
Query OK, 0 rows affected(0.11 sec)

临时表与持久表

TEMPORARY:表示临时表,如果不选用则位持久表。

持久表一直存在,多个用户或应用程序可同时使用持久表,如果只需临时存放数据可添加 TEMPORARY 关键字,临时表只能对创建它的用户可见,断开数据库连接时,表会自动清除。

数据类型

数据类型指系统中所允许的数据的类型。每列都应有适当的数据类型,来限制或允许该列的数据。 建表时必须为每列指定正确的数据类型及数据长度 (CHAR(50))

MySQL 主要数据类型:

数值类型:整型 int、浮点 double、布尔 bool

日期和时间类型:日期型、时间戳 timestamp、时间型 time

字符串类型:定长字符类型char、可变长字符类型varchrar

空间数据类型:单个几何类型 GEOMETRY等

关键字 AUTO_INCREMENT

AUTO_INCREMENT: 表中数据类型为整型的列设置自增属性 (++i),从当前指或 1 开始,表中只能有一个 AUTO_INCREMENT。

当一个表列被指定为 AUTO_INCREMENT 后,其值可被覆盖,即可在表数据插入语句中为该列指定一个值(必须唯一),则该值将替换系统自动生成的值,后续增量基于该插入的值

指定默认值

DEFAULT:用于指定MySQL在未给值的情况下默认的值(DEFAULT 0)

如果未指定默认值,则自动为其分配一个值,如若该列可取值NULL,则默认NULL,若定义 NOT NULL,则默认取决于该列的类型:

一个没有声明 AUTO_INCREMENT 列 为数字类型,默认 0

一个 AUTO_INCREMENT 列 默认为顺序中的下一个值

对于除 TIMESTAMP 以外的日期和时间类型,默认为该类型适当的'零'值

对于表中第一个 TIMESTAMP 列,默认值为当前日期和时间

NULL值

NULL:没有值或缺值,允许NULL的列,插入行时可以不给该列的值;不允许NULL值的列,则该列必须有数据
NULL 和 ''是不对等的 NOT NULL 列中允许'' 不允许 NULL

凡人网络购物系统jsp版(JspShop) 凡人网络购物系统jsp版(JspShop)

基于jsp+j*abean+access(mysql)三层结构的动态购物网站,v1.2包含v1.0中未公开的数据库连接 的j*a源文件 一,网站前台功能: 产品二级分类展示:一级分类--二级分类--产品列表--详细介绍(名称,图片,市场价,会员价,是否推荐,功能介绍等) 产品搜索:关键字模糊搜索 定购产品:选择商品--确认定购--填写收货人信息--选择付款方式--订单号自动生成(限登录用户)

凡人网络购物系统jsp版(JspShop) 0 查看详情 凡人网络购物系统jsp版(JspShop)

主键

PRIMARY KEY :指定主键,主键必须唯一且不能为NULL, 如果是单列,值必须唯一,如果是组合列,则其组合的值必须唯一

更新表

通过使用 ALTER TABLE 来修改数据库

ADD[COLUMN]:新增表列,可增多列使用逗号分隔即可

Example:

mysql> ALTER TABLE mysqle_test.customers
    -> ADD COLUMN cust_city char(10) NOT NULL DEFAULT'ShenZhen' AFTER cust_sex;
Query OK,0 rows affected(0.61 sec)
Records:0 Duplicates:0 Warning:0

AFTER:将新增的列添加到cut_sexl 列之后
FIRST:将新增的列添加到表的第一列

若使用上述关键字则将新增的列添加至表最后

类似的 可以使用 ADDPRIMARY KEY 、ADDFOREIGN KEY 、ADD INDEX 添加对应的 主键、外键、索引

CHANGE[COLUMN]: 修改表中列的名称或数据类型,可修改多列使用逗号分隔即可

mysql> ALTER TABLE mysqle_test.customers
    -> CHANGE COLUMN cust_sex sex char(1) NULL DEFAULT 'M'
Query OK,0 rows affected(0.66 sec)
Records:0 Duplicates:0 Warning:0

如果将数据类型更换,可能会丢失该列原有的数据,如果视图改变的数据类型于原有的数据类型不兼容,则SQL命令不会执行,且抛出错误。
再兼容的情况下,该列的数据可能会被截断,如:一列的数据类型为 varchart(10),改为char(1),则该列中的数据'ShenZhen'会变为'S'

ALTER [COLUMN]: 修改或删除指定列的默认值

mysql> ALTER TABLE mysqle_test.customers
    -> ALTER COLUMN cust_city SET  DEFAULT 'ShangHai'
Query OK,0 rows affected(0.36 sec)
Records:0 Duplicates:0 Warning:0

MODIFY [COLUMN]: 修改指定列的数据类型,通过 'FIRST' 或 'AFTER' 修改列的位置

mysql> ALTER TABLE mysqle_test.customers
    -> MODIFY COLUMN cust_name char(30)  FIRST
Query OK,0 rows affected(0.20 sec)
Records:0 Duplicates:0 Warning:0

DROP [COLUMN]: 删除列,该列所有数据一并删除

mysql> ALTER TABLE mysqle_test.customers
    -> DROP COLUMN cust_city
Query OK,0 rows affected(0.42 sec)
Records:0 Duplicates:0 Warning:0

同样 可使用 DROP PRIMARY KEY 、DROP FOREIGN KEY、DROP INDEX 删除对应的主键、外键、索引

RENAME[TO]:表重命名

mysql> ALTER TABLE mysqle_test.customers
    -> RENAME TOQuery OK,0 rows affected(0.42 sec)

重命名表

除了 ALTER TABLE 中的 RENAME TO 修改表名,还可通过 RENAME TABLE 来修改单张和多张表(以逗号分隔)

mysql> RENAME TABLE mysql_test.back.customers TO mysqle_test.customers

删除表

DROP[TEMPORARY]TABLE[IF EXISTS]删除一个已存在的表,可以删除多张表,前提操作人必须有权限,但是操作人在该张表上的权限不会被删除

查看表

SHOW [FULL] TABLES [{FROM|IN}db_name] [LIKE'pattern'|WHERE expr]: 显示指定数据库中所有表名

Example:

mysql> USE mysql_testDatabase changedmysql> SHOW TABLES:
 Tables_in_mysql_test
 customers 1 row in set <0.01 sec>

SHOW [FULL] COLUMNS {FROM|IN}tb_name[{FROM|IN}db_name] 或 {DESCRIBE|DESC} tbl_name[col_name|wild]: 显示指定数据库表结构。

MySQL 支持使用 DESCRIBE 代替 SHOW COLUMNS FROM 来查看表结构

Example:

mysql> DESC mysql_test.custormes
Field         Type       Null key  Default Extra
cust_id       int<11>    NO   PRI  NULL    auto_increment
cust_name     char<50>   NO        Null
cust_sex      int<1>     NO        0

3 row in set <1.56 sec>

相关文章教程推荐:mysql教程

以上就是mysql表定义语法详细介绍的详细内容,更多请关注其它相关文章!


# 重命名  # 绍兴网站建设标准数据  # 如皋品牌网站推广  # 唐山网站建设的方法  # 网站建设优化服务咨询  # 闵行区大规模网站建设  # 突破推广营销方案怎么写  # 网络推广网站哪个平台好  # 苏州信息化网站优化服务  # 旅游地整合营销推广  # 本地网络营销推广怎么样  # 相关文章  # mysql  # 看表  # 多个  # 购物系统  # 解锁  # 默认值  # 镜像  # 详细介绍  # 主键  # 介绍  # 语法  # 表定义 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 顺丰快递收费标准查询_如何查看顺丰最新收费价格  抖音小程序怎么开通?小程序开通条件是什么?  Win10共享文件夹设置方法 Win10局域网文件共享全攻略【教程】  申通快件单号查询平台 申通包裹物流动态跟踪  C++怎么实现一个红黑树_C++高级数据结构与平衡二叉搜索树  高效调试PHP大型嵌套数组:JSON序列化与可视化工具实践  中大网校app做题记录清除方法  京东物流快递破损了怎么办_京东快递破损理赔流程  win11自带录屏文件保存在哪里 Win11 Game Bar录制视频默认路径【分享】  什么是Satis,如何用它搭建一个私有的composer仓库?  在Spring Boot Thymeleaf中利用布尔属性实现容器的条件显示  百度浏览器无法安装扩展程序_百度浏览器插件安装失败原因解析  苹果11如何更换iCloud账号_苹果11账号切换的具体步骤  秋风萧瑟洪波涌起中的萧瑟指的是什么  包子漫画官网链接官方地址 包子漫画在线观看官网首页入口  HTML Canvas文本样式定制指南:解决外部字体加载与应用难题  mysql归档数据怎么导出为csv_mysql归档数据导出为csv文件的方法  抖音号显示企业机构号是什么意思?企业机构号申请条件是什么?  OTT月报 | 2025年9月智能电视大数据报告  青橙手机语音助手怎么唤醒_青橙手机语音助手设置与唤醒方法  《荔枝fm》导出文件教程  12306夜间购票失败? | 查看官方公布的暂停服务公告与应对方案  C++ virtual析构函数作用_C++基类虚析构函数防止内存泄漏  《知到》打卡课程方法  哔哩哔哩的|直播|间怎么送礼物_哔哩哔哩|直播|送礼操作指南  抄漫画官网防走失地址_抄漫画最新漫画完整版阅读入口  追剧达人如何发弹幕  《绿竹漫游》关闭消息通知方法  C++ priority_queue怎么用_C++优先队列底层实现与自定义比较器  《雷电模拟器》自动点击设置方法  cad视图选项卡不见了怎么办_cad视图标签恢复显示方法  《大学搜题酱》官网地址登录  网站体验不好=浪费钱:如何提升-用户体验效果差  哔哩哔哩在线观看入口 B站官网免费进入  Firefox OS应用开发:解决XMLHttpRequest跨域请求阻塞问题  Python高效统计字典嵌套列表值在目标列表中的出现次数  4399造梦西游3无敌版_4399游戏入口  《随手记》启用语音备注方法  苹果iPhone14ProMax如何新建AppleID_iPhone14ProMax新建AppleID具体流程  win11讲述人怎么关闭 Win11屏幕朗读辅助功能禁用方法【技巧】  Lar*el Eloquent:高效删除多对多关系中无关联子记录的父模型  快手网页版官方访问 快手网页版页面在线打开  win11关机几秒又自己开机 Win11关机自动重启问题修复  C++如何实现单例模式_C++线程安全的单例模式写法  红手指专业版app注册教程  之了课堂app做题入口  视频号视频怎么免费保存到相册?保存到相册需要注意什么?  C#中的Record类型有什么优势?C# 9新特性Record与Class的用法区别  优化Google Charts Gauge:在数据库无数据时显示默认值  解决J*aScript动态图片上传中ID重复问题:在同一页面显示多张独立图片 

 2020-01-30

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.