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


相关推荐: 电脑双系统如何安装和卸载 Windows和Linux双系统安装教程【详解】  如何在CSS中清除浮动解决背景颜色不包裹内容问题_clear after技巧  《下一站江湖2》风神腿获取攻略  毒蘑菇VOLUMESHADER_BM官网首页登录入口 毒蘑菇VOLUMESHADER_BM官网首页登录入口说明  花生壳内网映射新方案  BunnyStream TUS视频上传指南:解决401认证错误与参数配置  Golang如何测试结构体方法_Golang reflect方法测试与调用技巧  如何解决Casbin日志与应用日志不统一的问题,使用casbin/psr3-bridge实现无缝集成  深入理解J*aScript异步操作:setTimeout与调用栈的真相  如何使用 Optional 类型并满足 Pylint 的类型检查  美发店速赢秘籍  263企业邮箱如何设置邮件转发功能  Golang如何使用gRPC拦截器实现日志收集_Golang gRPC拦截器日志收集实践  解决Pandas DataFrame高度碎片化警告:高效创建多列的策略  Lar*el Dusk 测试中管理浏览器权限:以剪贴板访问为例  PHP安全加载非公开目录图片与动态内容类型处理指南  《金山词霸》语音翻译方法  汽水音乐网页端访问 汽水音乐官方网页直达  PointNet++语义分割模型中类别变更引发的断言错误及标签处理策略  QQ网页版官方账号登录入口 QQ网页版网页版入口快速导航  Git命令与VS Code UI操作的对应关系解析  Win10运行窗口在哪里打开 Win10调出运行命令框快捷键【技巧】  汽车之家网页版免费登录_汽车之家官网首页直接进入  泰拉瑞亚网页版在线登录入口 泰拉瑞亚官方正版入口  VBA Outlook邮件自动化:高效集成Excel数据与列标题的策略  百度识图图像分析 百度识图识别平台  t3出行如何使用微信支付  Mac怎么关闭按键声音_Mac键盘打字音效设置  秋风萧瑟洪波涌起中的萧瑟指的是什么  《知到》打卡课程方法  mysql导入sql文件能分批导入吗_mysql分批次导入大sql文件的实用技巧  2025考研成绩查询时间入口分享  使用 J*aScript 随机化 CSS Grid 布局中的元素顺序  J*a中导出MySQL表为SQL脚本的两种方法  抖音火山版如何进行提现  《兴业银行》注册登录方法  研招网官方网站招生平台入口_中国研究生招生信息网官网登录  《海贝音乐》均衡器设置方法  C#解析来自网络的XML流数据 实时错误处理与重试机制  电脑从睡眠中被自动唤醒怎么办_Windows唤醒源事件查看与禁用【解决】  《鹿路通》退余额方法  J*aScript中高效处理用户输入:从Keyup事件到表单提交的优化实践  c++如何实现一个简单的RPC框架_c++远程过程调用原理与实践  mysql离线安装后如何启动_mysql离线安装完成后启动服务的方法  126手机126邮箱登录_126邮箱手机登录入口官网  Yandex无需登录畅游 俄罗斯搜索引擎最新官网指南  喜茶GO更换登录账号方法  Win10通知横幅停留时间修改 Win10自定义通知显示时长【技巧】  AO3永久镜像入口开放_AO3最新网址兼容所有浏览器  163邮箱登录入口官网 163.com邮箱登录入口 

 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.