当前位置: 首页 > news >正文

MYSQL表操作

        MySQL是一种开源的关系型数据库管理系统(RDBMS),被广泛应用于Web应用程序开发中。MySQL最初由瑞典公司MySQL AB开发,并由Oracle公司维护和支持。MySQL使用SQL语言进行数据管理和查询操作。

创建表

create table 表名(
    字段1 字段1类型,
    字段2 字段2类型,
    字段3 字段3类型,
    ...
    字段n 字段n类型
);

创建表的语法中每个字段以 , 分隔,但最后一个字段后面没有逗号 创建表或字段的语句后可以使用 comment 注释 语句添加注释,如以上语法可以写为:

create table 表名(
    字段1 字段1类型 [comment 字段1注释],
    字段2 字段2类型 [comment 字段2注释]
)[comment 表注释];

查询当前数据库所有表

show tables;

查询表结构

describe 表名;

desc 表名;

查询指定表的建表语句

show create table 表名;

这里的表是指已经建好的表,使用 show create table 表名; 语句可以查看创建该表的过程

修改表名

alter table 表名 rename to 新表名

删除表

drop table [if exists] 表名;

删除表并重新创建该表

truncate table 表名;

添加字段

alter table 表名 add 字段名 数据类型(数据长度) [comment 注释];

如,在 testtable 表中添加 testfield 字段,数据类型为 varchar(20):
alter table testtable ADD testfield varchar(20) comment '注释';

删除字段

alter table 表名 drop 字段名;

修改字段数据类型

alter table 表名 modify 字段名 新数据类型(数据长度);

修改字段名和字段数据类型

alter table 表名 change 旧字段名 新字段名 数据类型(数据长度) [comment 注释];

如,将 testtable 表的 testfield 字段名修改为 testfield01,类型为 varchar(30)  :
alter table testtable change testfield testfield01 varchar(30) comment '昵称';

MYSQL约束

        为防止错误的数据被插入到数据表,MySQL中定义了一些维护数据库完整性的规则,针对表中字段进行限制从而保证数据表中数据的正确性和唯一性,这些规则常称为表的约束,也即表的约束实际上就是表中数据的限制条件。常见约束如下:

约束条件    说明
PRIMARY KEY    主键约束用于唯一标识对应的记录
FOREIGN KEY    外键约束
NOT NULL    非空约束
UNIQUE    唯一性约束
DEFAULT    默认值约束,用于设置字段的默认值

CREATE TABLE 表名 (
字段名 字段类型,
字段名 字段类型 列级约束,
表级约束
);

MySQL中的约束分为为列级约束和表级约束,其中:
列级约束:NOT NULL、DEFAULT、PRIMARY KEY、UNIQUE、CHECK
表级约束:PRIMARY KEY、UNIQUE、CHECK、FOREIGN KEY

列级约束和表级约束在添加位置上也有所不同:
列约束:在 字段名 数据类型 后面追加约束
表约束:在各个列字段的最下面,以CONSTRAINT 开头添加约束

添加外键

创建表前添加外键
CONSTRAINT [fk_table_field] FOREIGN (外键字段) REFERENCES 主表名(主键字段)


创建表后添加外键
ALTER TABLE 从表名
ADD CONSTRAINT [fk_table_field] FOREIGN (外键字段) REFERENCES 主表名(主键字段)

在实际开发中,只需要在逻辑上的主外键关系,不需要设置!!!

        这些操作是MySQL表操作的基础,在实际开发中会根据需求进行更复杂的表操作,如索引创建、数据插入、数据查询等。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • powerbi-L8-导入数据时候的动态列
  • Vue3:实现div拖拽
  • 算法打卡:第十一章 图论part02
  • Flask + Swagger 完整指南:从安装到配置和注释
  • 品牌力是什么?如何评估企业品牌影响力?
  • Java、JS与Go的扩展操作符,揭秘它们的‘魔法’!
  • Python编码系列—Python代理模式:为对象赋予超能力的魔法
  • sqlgun靶场训练
  • Scrapy爬虫框架 Items 数据项
  • Linux——K8s集群部署过程
  • C++速通LeetCode中等第7题-和为K的子数组(巧用前缀和)
  • git 更新LingDongGui问题解决
  • chapter2-站点首页功能实现
  • python协程,线程,进程详细解释和使用
  • [python3] 处理函数的重试
  • 深入了解以太坊
  • 〔开发系列〕一次关于小程序开发的深度总结
  • HTTP中GET与POST的区别 99%的错误认识
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • Linux CTF 逆向入门
  • SpringBoot几种定时任务的实现方式
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • Vue全家桶实现一个Web App
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 微信公众号开发小记——5.python微信红包
  • 我有几个粽子,和一个故事
  • AI算硅基生命吗,为什么?
  • Hibernate主键生成策略及选择
  • Nginx实现动静分离
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • #if 1...#endif
  • (0)Nginx 功能特性
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (31)对象的克隆
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (pojstep1.1.2)2654(直叙式模拟)
  • (纯JS)图片裁剪
  • (剑指Offer)面试题34:丑数
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (力扣)循环队列的实现与详解(C语言)
  • (十六)串口UART
  • (原创)可支持最大高度的NestedScrollView
  • (转) Android中ViewStub组件使用
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net web项目 调用webService
  • .NET 事件模型教程(二)
  • .Net 应用中使用dot trace进行性能诊断
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证