【MySQL】如何管理表

Mysql:创建和管理表(全面详解) 本博主将用优快云记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注博主!也许一个人独行,可以走的很快,但是一群人结伴而行,才能走的更远!在创建表时,每个列都必须指定数据类型。MySQL提供了各种内置数据类型,如整数、字符、日期等。以下是一些常见的数据类型示例:整数类型:INT、BIGINT、TINYINT等字符串类型:VARCHAR、CHAR、TEXT等日期和时间类型:DATE、DATETIME、TIMESTAMP等根据您的数据需求,选择适当的数据类型。 阅读详情

在关系型数据库中,最核心的是:二维表格。一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。总之一句话,东厂破不了了案由我西厂来破,/emem,操作关系型数据库就是在操作表。够不够清楚?

 


Table of Contents

操作表属性

表的增(create)

表的删(Delete)操作

表的改(Update)操作

表的查(Read)操作

约束

主键

非空约束

唯一约束

外键

操作表中数据

表数据增

表数据删

表数据改

表数据查


操作表属性

 

表的增(create)

 

创建表格式:

 

CREATE TABLE 表名(
   字段名1 数据类型(长度) [约束|列属性],
   字段名2 数据类型(长度) [约束|列属性]
)额外设置;

--示例:
CREATE TABLE users (
    uid INT PRIMARY default 0 comment “用户的编号ID”,
    uname VARCHAR(20),
    uaddress VARCHAR(200)
);

 

额外设置AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

 

表复制(只复制结构,不复制数据):create table 新表名 like 需要复制结构的表名;

 

显示表创建语句:SHOW CREATE TABLE 表名;

 

列属性:

 

  1. 执行默认值:DEFAULT 默认值
  2. comment '列描述,是专门用于给开发人员进行维护的一个注释说明'
  3. Null:为YES的时候就表示该列可以为空
  4. 自动增长:auto_increment
  5. 约束(四种):主键、外键、非空、唯一

 

表的删(Delete)操作

 

删除一个表格:

 

DROP TABLE 表名;

 

DROP TABLE[ IF EXISTS] 表名

 

 

表的改(Update)操作

 

表属性:

修改表名:RENAME TABLE 表名 TO 新表名;

修改表的字符集:ALTER TABLE 表名 CHARACTER SET 字符集;

 

表属性添加操作:ALTER TABLE 表名 操作(下列任选一)

ADD系列:

  1. ADD[ COLUMN] 字段定义       -- 增加字段
    1. AFTER 字段名          -- 表示增加在该字段名后面
    2. FIRST               -- 表示增加在第一个
    3. 加一列(纵方向):ALTER TABLE 表名 ADD 列名 类型(长度) [约束];
  2. 创建唯一索引:ADD UNIQUE [索引名] (字段名)
  3. 创建普通索引:ADD INDEX [索引名] (字段名)

 

DROP系列:

  1. DROP PRIMARY KEY    -- 删除主键(删除主键前需删除其AUTO_INCREMENT属性)
  2. DROP INDEX 索引名 -- 删除索引
  3. DROP FOREIGN KEY 外键    -- 删除外键
  4. 删除一列:ALTER TABLE 表名 DROP 列名;
  5.  

改系列:

  1. 修改列(修改列的类型长度及约束):ALTER TABLE 表名 MODIFY 列名 类型(长度) [约束];
  2. 修改列名:ALTER TABLE 表名 CHANGE 旧列名 新列名 类型(长度) [约束];

 

表的查(Read)操作

查看数据库中的所有表:

SHOW TABLES;

SHOW TABLES[ LIKE 'pattern']

SHOW TABLES FROM 表名

显示表创建时的命令:SHOW CREATE TABLE 表名

查看表的所有列:SHOW COLUMNS FROM 表名

 

查看表结构:格式:DESC 表名;

  1. Field : 字段名称.
  2. Type : 字段类型.
  3. Null : 是否允许未空,yes表示允许.
  4. Key : 索引.
  5. Default : 默认值, NULL表示默认为NULL.
  6. Extra : 额外属性.

约束

作用:

  1. 对表中的数据进行限制,保证数据的正确性、有效性和完整性。
  2. 一个表如果添加了约束,不正确的数据将无法插入到表中。

分类:

  1. 主键约束:primary key (默认就是唯一非空的)
  2. 非空约束:not null
  3. 唯一约束:unique
  4. 外键约束:foreign key

 

主键

主键功能:

  1. 是用于标识当前记录的字段。
  2. 它的特点是非空,唯一,不能有重复。
  3. 在开发中一般情况下主键是不具备任何含义,只是用于标识当前记录。
  4. 一张表只能有一个字段为主键

添加主键:

1. 在创建表时创建主键,在字段后面加上primary key.

CREATE TABLE 表名(   
       id INT PRIMARY KEY,
       .......
)

2. 在创建表时创建主键,在表创建的最后来指定主键

CREATE TABLE 表名(
	id INT,
	.......,
	PRIMARY KEY(id)
)

 

  • 表后创建主键:ALTER TABLE 表名 ADD PRIMARY KEY(字段);
  • 删除主键:ALTER TABLE 表名 DROP PRIMARY KEY;
  • 主键自动增长:一般主键是自增长的字段,不需要指定。实现添加自增长语句,主键字段后加AUTO_INCREMENT(只适用MySQL)
  • 修改表的自主增长:
ALTER TABLE 表名 AUTO_INCREMENT = 10;

ALTER TABLE 表名 MODIFY id INT;     //修改自动增长字段的属性即可

 

非空约束

在创建表时添加约束:

CREATE TABLE 表名(
	pid INT,
	pname VARCHAR(20) NOT NULL --约束pname字段为非空
);

删除非空约束(本质上是修改字段属性):ALTER TABLEB 表名 MODIFY 新的约束语句;

在创建表后,添加非空约束:ALTER TABLE 表名 MODIFY 修改后有约束性的语句;

 

唯一约束

创建表时添加唯一约束:

CREATE TABLE 表名(
	pid INT,
	pnumber VARCHAR(20) UNIQUE --添加唯一约束
);

 

删除唯一约束:ALTER TABLE 表名DROP INDEX 列名;

在表创建后添加唯一约束:ALTER TABLE 表名MODIFY 修改后有约束性的语句;

 

外键

对外键的理解:

  1. 有些时候,一个事物的描述项(属性)太多了,或者说具体需求需要把一个事物的属性分成两个表;
  2. 那么如何把这两个表,当做是一张表一样呢,答案是外键;

创建外键:

法一:在创建表时就创建外键

CREATE TABLE person(
	FOREIGN KEY(从表外键字段) REFERENCES 主表(主表主键);
);

 

法二:在创建表后添加外键

ALTER TABLE 从表 ADD [CONSTRAINT `外键名`] FOREIGN KEY(从表外键字段) REFERENCES 主表(主表主键);

 

删除外键:ALTER TABLE 从表名 DROP FOREIGN KEY 外键名称;

外键不允许修改, 只能删除后再添加外键

 


操作表中数据

 

表数据增

向表中添加一行数据:

INSERT INTO 表 (列名1,列名2,列名3..) VALUES  (值1,值2,值3..); --向表中插入某些列
INSERT INTO 表 VALUES (值1,值2,值3..); --向表中插入所有列
INSERT INTO 表名 (列名1,列名2,列名3) VALUES (值1,值2,值3),(值1,值2,值3) --写入多行
  1. 插入的数据应与字段的数据类型相同
  2. 数据的大小应该在列的长度范围内
  3. 在values中列出的数据位置必须与被加入列的排列位置相对应
  4. 除了数值类型外,其它的字段类型的值必须使用引号引起。
  5. 如果要插入空值,可以不写字段,或者插入 null。对于自动增长的列在操作时,直接插入null值即可。
  6. 其中,INSERT可以替换为REPLACE;

 

表数据删

删除表中一条记录:

  1. DELETE FROM 表名 [WHERE 条件];  一条一条删除,不清空auto_increment记录数
  2. TRUNCATE TABLE 表名;  直接将表删除,重新建表,auto_increment将置为零,从新开始

 

表数据改

修改表数据:

UPDATE 表名 SET 字段名=值,字段名=值;

UPDATE 表名 SET 字段名=值,字段名=值 WHERE 条件;

  1. 列名的类型与修改的值要一致.
  2. 值如果是字符串或者日期需要加引号:’’
  3. 修改值得时候不能超过最大长度.

修改默认值:

alter table 表名 alter column 字段名 set default 默认值;

 

表数据查

完整的数据查询:

 SELECT [选项] 字段列表 FROM 数据源 WHERE条件 GROUP BY分组 HAVING条件 ORDER BY排序 LIMIT限制;

 

查询指定字段信息:select 字段1,字段2,...from 表名;

查询表中所有字段:select * from 表名;

注意:使用"*"在练习、学习过程中可以使用,在实际开发中,不推荐使用。原因,要查询的字段信息不明确,若字段数量很多,会导致查询速度很慢。

distinct用于去除重复记录:select distinct 字段 from 表名;

表别名格式:

  1. select * from 表名 as 别名;
  2. select * from 表名 别名; --as关键词可以省略

列别名格式:

  1. select 字段名 as 别名 from 表名;
  2. select 字段名 别名 from 表名;

去重复的结果集:

SELECT DISTINCT * FROM 表名;


 

 

ESP32S3新手避坑:用IDF5.0驱动GT911触摸屏,我踩过的三个雷都给你填平了 本文详细解析了在ESP32S3开发板上使用IDF5.0驱动GT911触摸屏时常见的三大问题:软重启失效、状态寄存器读取异常和初始化参数差异。通过逻辑分析和硬件调试工具,提供了针对性的解决方案和优化建议,帮助开发者高效完成触摸屏驱动开发。 阅读详情

相关推荐

基于STM32的电子琴音乐播放器设计

​ 本设计以实际电路为最后的结果,实现了所有与其功能,具有重要的现实意义。件,在Proteus中进行原理图绘制,然后把 .hex文件下载到STM32F103RBT6中 进行仿真。由于网络上 下载的 Proteus中 没有 STM32F103RBT6这个芯片型号,我们又从网上 下载芯片 进行仿真。​ 本设计以实际电路为最后的结果,实现了所有与其功能,具有重要的现实意义。

TMMXA的博客 2万+

MySQL库表管理

MySQL

博客 528

遥感大模型之Prithvi的关键技术解读

Prithvi系列模型开创了遥感领域基础模型新范式,通过海量多源时空数据(HLS和SAR)与Vision Transformer架构的深度融合,采用掩码自编码器进行自监督预训练,实现了强大的地球观测表征能力。该技术体系突破传统方法在全局建模、多模态融合和时空分析上的局限,仅需少量标注数据即可在土地分类、灾害监测等任务上取得优异表现。从初代3亿参数到Prithvi-EO-2.0的10亿参数升级,展现了模型可扩展性,为构建地球数字孪生智能基座奠定基础。

panshengwu的博客 865

MySQL-创建和管理表:基础知识、创建和管理数据库、创建表、修改表、重命名表、删除表、清空表、拓展

因为从系统架构的层次上看,MySQL 数据库系统从大到小依次是数据库服务器、数据库、数据表、数据表的行与列。

小孔靠得住的博客 4091

深度解析大语言模型中的词向量

​ 在学习完语言模型中的编码器与解码器知识后,让我们继续深入学习大语言模型中一个非常关键的技术:词向量表示,以及如何通过Transformer模型实现对next token的预测。 ​

产品老A,8年互联网大厂AIPM,专注探索新型人机交互 3282

GT-suite v2016的下载和安装

1 写在前面 GT-suite 是一款用来做内燃机仿真的软件。在安装过程中遇到很多问题,网上的安装教程也大都抄来抄去,试着安装了几遍都没有成功。最终在贴吧一个老哥的帖子里找到了解决办法,但是老哥的帖子也不是很详细,所以做了这个详细版本的教程。 GT-suite v2016安装包: 链接:https://pan.baidu.com/s/1JZPgJ8_-J-L8rV84-eHedQ 提取码:uj...

kisssshot的博客 2万+

MySQL数据库和表管理

Char如果存入数据的实际长度比指定长度要小,会补空格至指定长度,如果存入的数据的实际长度大于指定长度,低版本会被截取,高版本会报错。

weixin_46254171的博客 1954

SAP S/4HANA 中 RAP 业务对象接口的消费模式

本文探讨了SAP S/4HANA中RAP业务对象接口的消费模式,重点介绍了通过EML直接调用和CDS投影两种Clean Core开发路径。文章分析了BO Interface作为稳定契约的价值,并提供了BAdI集成、OData服务发布等实际场景案例,同时对比了OData V2/V4的技术选型考量,最后强调了ADT向导使用中的DCL权限注意事项。全文旨在帮助开发者构建升级友好的业务对象消费方案。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 757

Day460.创建和管理表 -mysql

创建和管理表 一、基础知识 1.1 一条数据存储的过程 存储数据是处理数据的第一步。只有正确地把数据存储起来,我们才能进行有效的处理和分析。否则,只能是一团乱麻,无从下手。 那么,怎样才能把用户各种经营相关的、纷繁复杂的数据,有序、高效地存储起来呢? 在 MySQL 中,一个完整的数据存储过程总共有 4 步,分别是创建数据库、确认字段、创建数据表、插入数据。 我们要先创建一个数据库,而不是直接创建数据表呢? 因为从系统架构的层次上看,MySQL 数据库系统从大到小依次是数据库服务器、数据库、数据表、数据表

阿昌爱Java 2648

复现报告:《多回路人机控制系统仿真及II型PIO分析》方法复现与代码实现

本文复现了谭文倩硕士论文《多回路人机控制系统仿真及II型PIO分析》中的关键方法,重点实现了频域驾驶员模型辨识和参数灵敏度分析。通过数字化提取论文图表数据,构建了结构驾驶员模型传递函数,并验证了参数变化对系统特性的影响。采用MATLAB实现了描述函数计算、模型参数辨识和灵敏度分析算法,为后续神经网络模型辨识和II型PIO研究奠定了基础。由于缺乏原始实验数据,部分结果通过数值模拟获得,但仍有效重现了论文的核心分析方法。~~~~~

huanghm88的专栏 175

手把手教你学Simulink--电机电磁兼容与可靠性​场景示例:基于Simulink的电机轴电压与轴电流抑制仿真

本文带你完成了电机轴电压与轴电流抑制的Simulink仿真,实现了:✅ 揭示了共模电压 → 寄生电容 → 轴电压 → 轴承电蚀的完整链路✅ 搭建了含寄生参数的高频电机等效模型共模电压最小化PWM(源头抑制)dv/dt滤波器(路径阻断)轴接地(终端泄放) ✅ 通过仿真验证了轴电压从68 V降至<3 V的显著效果 ✅ 为高可靠性电机系统提供低成本、高效益的轴承保护方案。

MHD0815的博客 315

Mysql---表管理

表 是mysql服务用来存储数据的文件 库 存放表的目录 语法: 库名是有命名规则? (要记牢) 仅可以使用数字、字母、下划线、不能纯数字 区分字母大小写, 具有唯一性 不可使用指令关键字、特殊字符 建库的基本命令 create database 库名; mysql> CREATE DATABASE gamedb ; mysql> CREATE DATABASE GAMEDB ; mysql> CREATE DATABASE GAMEDB ; .

我不是程序猿的博客 415

Azure AI-102 认证全攻略: (二十八) 设置 Azure AI 服务 API

在本文中,您学习了如何通过 Azure 门户设置和管理 Azure AI 服务,以及如何通过编程方式访问这些服务。在这篇文章中,我们将深入探讨如何设置 Azure AI 服务,特别是如何通过 Azure API 来进行编程访问,以实现自动化和集成。通过本篇文章的学习,您不仅能够顺利完成 Azure AI-102 认证中的 API 配置和集成内容,还能高效地管理和优化 Azure AI 服务,构建稳定、可靠的 AI 应用。在成功设置并测试了 API 后,接下来要管理和维护您的 Azure AI 服务。

高校图书馆高级系统架构师/研究馆员,推动高校AI从概念演示到可评审、可交付、可运维:路线图与立项评审、PoC交付、评测回归与上线运维(Baseline/Eval/Ops)。 1445

Mysql创建管理表的内容上的打字练习

同样的,在使用 ALTER TABLE 进行表的基本修改操作时,在执行操作过程之前,也应该确保对数据进行完整的备份,因为数据库的改变是无法撤销的,如果添加了一个不需要的字段,可以将其删除;所以,请慎重,再慎重。当查询中的表不在所在的数据库中时,需要定位到对应的数据库中去 如 数据库 .表名,当在查询上使用了字段的别名,其创建的表中的字段会以别名为 准创建表字段。● 修改现有的表中的列:格式: MODIFY 修改表中的数据类型:ALTER TABLE 修改的表名 MODIFY 修改的字段 修改的数据类型;

weixin_61635597的博客 391

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

MySQL创建和管理表

MySQL创建和管理表 1.创建数据库 2.创建表 3.修改表 4.删除表的一列 5.重命名一个列 6.删除表 7.清空表 8.改变对象的名称

xiaotai1234的博客 391

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

MySQL--day9--创建和管理表

基础知识:步骤、标识符命名规则、数据类型, 创建和使用、修改数据库的语句命令,创建表, 修改表的语句:添加字段、修改字段、重命名字段、删除字段、重命名表, 删除表和清空表的语句,DCL中的COMMIT和ROLLBACK,对比TRUNCATE和DROP,DDL和DML的说明

2301_80071187的博客 889

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

MySQL创建表和管理表

MySQL创建表和管理表 章节概述 创建数据库 创建表 修改表的定义 删除,重命名和清空表 创建数据库 创建一个保存员工信息的数据库 – create database employees; 相关其他命令 – show databases;查看当前所有数据库 – use employees;“使用”一个数据库,使其作为当前数据库 命名规则 • 数据库名不得超过30个字符,变量名限制为29个 • 必须只能包含 A–Z, a–z, 0–9, _共63个字符 • 不能在对象名的字符间留空格 • 必

[灯灯] 449

MySQL学习-10章创建和管理表

只有正确地把数据存储起来,我们才能进行有效的处理和分析。否则,只能是一团乱麻,无从下手。那么,怎样才能把用户各种经营相关的、纷繁复杂的数据,有序、高效地存储起来呢?在 MySQL 中,一个完整的数据存储过程总共有 4 步,分别是创建数据库、确认字段、创建数据表、插入数据。我们要先创建一个数据库,而不是直接创建数据表呢?因为从系统架构的层次上看,MySQL 数据库系统从大到小依次是数据库服务器数据库数据表、数据表的行与列。MySQL 数据库服务器之前已经安装。所以,我们就从创建数据库开始。

weixin_44812756的博客 132

MySQL | 尚硅谷 | 第10章_创建和管理表

同样的,在使用 ALTER TABLE 进行表的基本修改操作时,在执行操作过程之前,也应该确保对数据进行完整的备份 ,因为数据库的改变是无法撤销 的,如果添加了一个不需要的字段,可以将其删除;相同的,如果删除了一个需要的列,该列下面的所有数据都将会丢失。操作将把表的定义和表中的数据一起删除,并且MySQL在执行删除操作时,不会有任何的确认信息提示,因此执行删除操时应当慎重。MySQL在执行建表语句时,将id字段的类型设置为int(11),这里的11实际上是int类型指定的显示宽度,默认的显示宽度为11。

m0_74795952的博客 1040

【MySQL基础】7—创建和管理表

MySQL创建和管理表的具体语法介绍

一棵灬大树的博客 172

mysql 重置表索引_MySQL管理表和索引

MySQL管理表和索引SQL语句:数据库表索引视图DML创建数据库:CREATEDATABASE|SCHEMA[IFNOTEXISTS]db_name[CHARACTERSET=][COLLATE=]删除数据库:DROP{DATABASE|SCHEMA}[IFEXISTS]db_name创建表:1、直接定义一张空表;2、从其它表中查询出数据,并以之创建新表;3、以其它表...

weixin_39818550的博客 236

【MySQL数据库】10 创建和管理表

【创建和管理表】{基础知识}{创建和管理数据库}{创建表} {修改表}{重命名表}{删除表}{清空表}{内容扩展}{创建和管理表练习}

woailuo8214的博客 969

MySQL10_基础_创建和管理表

文章目录创建和管理表1. 基础知识1.1 一条数据存储的过程1.2 标识符命名规则1.3 MySQL中的数据类型2. 创建和管理数据库2.1 创建数据库2.2 使用数据库2.3 修改数据库2.4 删除数据库3. 创建表3.1 创建方式13.2 创建方式24. 修改表4.1 追加一个列4.2 修改一个列4.3 重命名一个列4.4 删除一个列5. 重命名表6. 删除表7. 清空表7.1 DELETE FROM 回滚演示7.2 TRUNCATE TABLE 回滚演示8. 内容拓展拓展1:阿里巴巴《Java开

gingerMr的博客 664

MySQL管理表和索引

数据库 HELP CREATE DATABASE; 查看创建数据库帮助 CREATE DATABASE | SCHEMA [IF NOT EXISTS] db_name [default] [CHARACTER SET=] [default] [COLLATE=]; HELP ALTER DATABASE; 查看修改数据库帮助 HELP DROP DATABASE; 查看删除数据库帮助...

bbj1030的博客 210

MySQL复习—(练习九—创建和管理表)

【代码】MySQL复习—(练习九—创建和管理表)

2202_75381448的博客 331

MySql的各种语句(最详细)-9(创建和管理表)

#创建和管理表 /* DML: INSERT / DELETE / UPDATE / SELECT DDL: CRAETE / ALTER/ TRUNCATE / DROP / REMAME DCL: COMMIT / ROLLBACK / GRANT / REVOKE / SAVEPOINT */ #1.1 如何创建数据库 CREATE DATABASE myemp; #1.2 选中要操...

qq_42564058的博客 247
上一篇: 【MySQL】如何管理数据库
下一篇: 【MySQL】简单明了:单表查询
ALGO阿狗
博客等级 码龄9年 64粉丝 149原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值