【MySQL】数据库基础(表的操作)

news2024/9/23 13:29:54

目录

一、创建表

二、查看表结构

三、修改表

3.1 添加新列 

3.2 修改列属性

3.3 删除列属性

3.4 修改表名

3.5 向表中插入

3.6 修改列名

四、删除表


一、创建表

语法:

CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;

 说明:

  • field 表示列名
  • datatype 表示列的类型
  • character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
  • collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准

示例:

mysql> create table users(
    -> id int,
    -> name varchar(20) comment '用户名',
    -> password char(32) comment '用户密码,最多为32位',
    -> birthday date comment '生日'
    -> );

如果不设置字符集 、校验规则、存储引擎,系统会使用默认的选项。

可以看到Linux目录下有库对应的目录和表对应的文件。 

 

二、查看表结构

desc 表名;

示例:

 

  • Field: 字段的名称。
  • Type: 字段的MySQL数据类型。
  • Null: 这个字段是否可以为NULL。YES表示可以为NULL,NO表示不能为NULL。
  • Key: 表示这个字段是否是索引的一部分。
    PRI表示这个字段是主键,
    UNI表示这个字段是唯一索引的一部分,
    MUL表示这个字段是多列索引的一部分。
  • Default: 表示这个字段的默认值。
    如果这个字段可以有默认值,并且默认值是字符串类型,那么默认值会以单引号包围。
  • Extra: 这个字段包含了一些额外的信息,如是否为自动增长(auto_increment)、是否为非空(not_null)等。Extra字段为空,这意味着没有额外的信息。

三、修改表

在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,表的存储引擎等等。我们还有需求,添加字段,删除字段等等。这时我们就需要修改表。

3.1 添加新列 

ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column
datatype]...);

圆括号()可以加也可以不加,方括号[ ]不用加。

示例:添加名为电话号码的新列 

 

可以在选项中使用 [after 列名] 指定在那一列后面。

3.2 修改列属性

ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column
datatype]...);

将users表中的name列的数据类型从VARCHAR(20)更改为VARCHAR(50),可以使用以下命令:ALTER TABLE users MODIFY name VARCHAR(50);

3.3 删除列属性

ALTER TABLE tablename DROP (column);

删除字段一定要小心,因为删除字段及其对应的列数据都没了。

3.4 修改表名

alter table 旧表名 rename to 新表名;

to 可省略,例如:alter table users rename employee;

3.5 向表中插入

insert into 表名 values(值1, 值2, 值3, ...);
insert into 表名 (列1, 列2, 列3, ...) values(值1, 值2, 值3, ...);
  •  方法1需要提供表中所有列的值,并且这些值必须与表中的列顺序和数据类型相匹配。
  • 方法2允许指定哪些列应该被插入,并且只提供这些列的值。如果不提供某个列的值,MySQL将自动为该列分配默认值(如果存在的话)。

3.6 修改列名

alter table 表名 change 旧列名 新列名 列属性;

需要对新列名再次设置属性。 

四、删除表

语法格式:

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...;
  • 使用TEMPORARY时,它告诉MySQL删除一个临时表
  • IF EXISTS是一个可选的子句,如果使用它,当指定的表不存在时,MySQL将不会抛出错误。

示例:

drop table t1;

在MySQL中,DROP TABLE语句用于删除表。这个操作是不可逆的,一旦执行,表及其所有数据和结构都会被永久删除。在执行删除操作之前,要确保用户有足够的权限,并且已经备份了相关数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2050681.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

docker容器安全加固参考建议——筑梦之路

这里主要是rootless的方案。 在以 root 用户身份运行 Docker 会带来一些潜在的危害和安全风险,这些风险包括: 容器逃逸:如果一个容器以 root 权限运行,并且它包含了漏洞或者被攻击者滥用,那么攻击者可能会成功逃出容器…

车载camera avm框图

一、关键词介绍: POC: power on coax LVDS: Low-Voltage Differential Signaling GMSL:Gigabit Multimedia Serial Link AVM: Around View Monitor Serdes:DeSerializer、Serializer DVP:Interface with ISP and Sensor: DVP(Digital Video Port) 二、车载camera avm…

书籍推荐:大数据之路 阿里巴巴大数据实践

书籍推荐:大数据之路 阿里巴巴大数据实践 这本书侧重于理论知识,并结合了阿里大数据发展的过程,将知识总结起来。总的来所,书中的有些章节个人感觉非常不错,比如:数据仓库建模;但是大部分章节都…

性能优化理论篇 | 如何保证数据安全落盘,5分钟彻底弄懂 一次write中的各种缓冲区 !

性能优化系列目录: 性能优化理论篇 | 彻底弄懂系统平均负载 性能优化理论篇 | swap area是个什么东西 性能优化理论篇 | Cache VS Buffer,傻傻分不清 ? 在很多IO场景中,我们经常需要确保数据已经安全的写到磁盘上,以便…

xss之DOM破坏

文章目录 DOM破坏漏洞的复现https://xss.pwnfunction.com/基于bp学院DOM破坏漏洞复现思路分析实现 常见的xss触发的标签没有过滤的情况存在过滤的情况 DOM破坏 DOM破坏就是⼀种将 HTML 代码注⼊⻚⾯中以操纵 DOM 并最终更改⻚⾯上 JavaScript ⾏为的技术。 在⽆法直接 XSS的情…

Linux·权限与工具-make

1. Makefile/makefile工具 首先展示一下,makefile工具如何使用。我们先写一个C语言程序 然后我们建立一个Makefile/makefile文件,m大小写均可。我们在文件中写入这样两行 wq保存退出后,我们使用 make 命令 可以看到生成了可执行程序&#xff…

无人机模拟训练室技术详解

无人机模拟训练室作为现代无人机技术培训的重要组成部分,集成了高精度模拟技术、先进的数据处理能力及高度交互的操作界面,为无人机操作员提供了一个安全、高效、接近实战的训练环境。以下是对无人机模拟训练室技术的详细解析,涵盖系统基础概…

为TI的 AM355移植uboot和linux内核

一、uboot移植 在移植之前要先对uboot的源码结构有一定熟悉 1.uboot源码顶层目录下各源码文件夹的作用 2.编译后生成的uboot.xxx 各文件后缀含义 关于以上两点社区已经有很多前辈总结的很详细,这里不做赘述。 对于uboot源码分析韦东山老师b站上有免费的课程&#x…

QT中Charts基本用法

QT中Charts基本用法 第一步:创建工程,添加Charts库 第二步:添加charts视图 注意要打上对钩 第三步:添加所需成员 第四步:编写初始化函数 第五步:添加测试数据

C++学习笔记之算法模板

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、双指针1.1 有序数组的合并1.2 快慢指针/删除有序数组中的重复项1.3 求和 二、动态规划2.1 自底向上和自顶向下(带备忘录)2.2 带有当前状…

浅谈哈希长度扩展攻击

攻击原理: 我们首先需要了解一下Message Authentication codes (MACs) ,称为消息验证码,一般用于服务器验证消息的真实性。服务器把密钥和消息连接起来,用摘要算法获取摘要,对于H(secret data&#xff09…

RabbitMq的基本理解

MQ概念及同步异步: 同步调用: 是一种编程模型,其中调用者发送请求并等待响应。在同步调用中,调用者会阻塞,直到被调用的方法返回结果。 异步调用: 是一种编程模型,其中调用者发送请求后立即返回&#x…

09结构型设计模式——组合模式

一、组合模式的简介 组合模式(Composite Pattern)是一种结构型设计模式,主要用于处理树形结构中的对象组合问题。它允许你将对象组合成树形结构,以表示部分-整体层次结构。组合模式使得客户端能够统一地对待单个对象和对象组合&a…

SEREN MC2电源匹配器控制器Matching Network Controller手侧

SEREN MC2电源匹配器控制器Matching Network Controller手侧

NC 反转链表

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 描述 给定一个单链…

亲测解决Bundler HTTPError Could not fetch specs from

这个问题源于ruby的网站连接不上&#xff0c;解决方法是修改网页地址或者网络配置。 环境 win11 ruby 问题原文 Retrying fetcher due to error (2/4): Bundler::HTTPError Could not fetch specs from https://rubygems.org/ due to underlying error <IO::TimeoutEr…

C# 将Dll嵌入exe中发布

一、制作模版Dll 二、在exe工程中添加Dll 1、添加上述“创建Dll”&#xff0c;并修改属性为&#xff1a;不复制到输出目录的嵌入资源 2、引用“Resource”中的dll文件&#xff0c;并修改属性&#xff1a;不复制到本地 三、添加重载Dll代码 1、添加以下代码 class DependentFi…

Modbus 通信协议详解

目录 一、概述二、Modbus 的作用三、Modbus 的工作原理1、四种数据类型2、三种工作模式3、三类功能码3.1 标志功能码3.2 Modbus 封装接口3.3 异常 4、Modbus 协议层4.1 协议数据单元4.2 访问数据4.3 数据模型寻址4.3.1 数据寻址范围4.3.2 数据地址起始值 4.4 大数据类型4.4.1 位…

频率检测计

前言 频率计是一种用于测量信号频率的仪器。它可以准确地确定电子信号的频率&#xff0c;广泛应用于电子设备的测试和维护中。频率计的工作原理通常包括对输入信号进行采样&#xff0c;并通过内部电路计算信号的周期&#xff0c;从而得到频率值。现代频率计通常具有高精度、高稳…

无线通信代码搬运/复现系列(1) : 重新审视具有每天线功率约束的 MIMO 容量:固定点迭代和交替优化

无线通信代码搬运/复现系列(1) “Revisiting the MIMO Capacity with Per-antenna Power Constraint: Fixed-point Iteration and Alternating Optimization,” IEEE Trans. Wireless Commun., vol. 18, no. 1, pp. 388-401, Jan. 2019 by T. M. Pham, R. Farrell, and L.-N. …