SQL表(字段)操作

news/发布时间2024/5/14 9:02:01

目标:掌握数据库和字段的相关操作指令,熟练运用这些指令完成数据表的增删改查

  • 创建数据表

  • 显示数据库

  • 查看表结构

  • 更改数据表

  • 更改字段

  • 删除数据表

1、创建数据表

目标:了解数据表创建语法,掌握创建规则

概念

创建数据表:根据业务需求,确定数据表的字段信息,然后创建表结构

  • 表与字段不分家,相辅相成

  • 表的创建需要制定存储的数据库

    • 明确指定数据库:数据库、表名

    • 先使用数据库:use 数据库名字

  • 字段至少需要指定名字、类型

  • 数据库表不限定字段数量

    • 每个字段间使用逗号,分隔

    • 最后一个字段不需要逗号

  • 表可以指定表选项(都有默认值)

    • 存储引擎:engine[=]具体存储引擎

    • 字符集:[default]charset 具体字符集(继承数据库)

    • 校对集:collate(继承数据库)

  • 表创建语法

create table [数据库名.]表名(字段名 字段类型,...字段名 字段类型
)表选项;

演示

1、创建简单数据表(指定数据库创建数据表)

create table db_2.t_1(name varchar(50)
);

2、创建数据表一一多字段

#使用数据库(进入数据库环境)
use db_2;
create table t_2(name varchar(50),age int,gender varchar(10)
);

演示

3、创建数据表一一表选项

create table t_3(name varchar(50)
)engine Innodb charset utf8MB4;

演示

小结

1、创建数据库表是为了存储具体数据

2、数据表的创建与字段是同时存在的

3、数据表的创建需要指定数据库

  • 在表名字前指定数据库:数据库名.表名

  • 进入数据库环境(常用)

4、一张数据表用来存一组相关数据

5、扩展:存储引擎是指数据存储和管理的方式,MySQL中提供了多种存储引擎,一般使用默认存储引擎

  • lnnoDB

    • 默认存储引擎

    • 支持事务处理和外键

    • 数据统一管理

  • Mylsam

    • 不支持事务和外键

    • 数据、表结构、索引独立管理

    • MySQL5.6以后不再维护

6、扩展:如果想创建一个与已有表一样的数据表,MySQL提供了一种便捷的复制模式

  • create table 表名 like 数据库名字.表名

2、显示数据表

目的:了解如何查看和数据表结构

概念

显示数据表:客户端通过指令显示已有的数据表

  • 数据表的显示跟用户权限有关

  • 显示数据表有梁总方式

    • 显示所有数据表

    • 显示具体数据表的创建指令

演示

1、显示所有数据表一一当前数据库下

show tables;

结果

2、显示所有数据表一一指定数据库

show tables from tb_3;

结果

3、显示部分关联数据表——匹配

show tables like '%like';   #_表示匹配一个字符(固定位置),%表示匹配n个字符

结果

4、显示数据表的创建指令

show create table t_1;  #看到的结果未必一定是真实创建的指令(系统会加工)

结果

小结

1、显示数据表有两种形式

  • 显示所有的数据表:show tables [from 指定数据库];

    • 显示部分:show tables like 'pattern';匹配模式:_匹配单个字符,%匹配不限量字符

  • 显示数据表创建指令:show create table 表名;

2、显示数据表通常是为了验证数据表是否存在或者验证数据表的创建指令是否正确

3、在显示数据的时候可以使用不同的语句结束符

  • \g:与普通分号无区别

  • \G:纵向显示列数据

3、查看数据表

目标:了解查看数据表的概念和掌握数据表查看的语法

概念

查看数据表:指查看数据表中的具体结构

  • 通常是查看字段信息

  • 详细的显示字段的各项信息

  • 查看语法有三种(效果一样)

desc 表名;
describe 表名;
show columns from 表名;

演示

desc t_1;

结果

小结

1、数据表的查看是为了查看表中具体字段的信息

2、查看数据表的指令有多个,效果都一样

  • desc表名;(常用)

  • describe 表名;

  • show columns from 表名;

3、查看表结构的原因通常是在开发过程中为了更清晰的了解数据的存储形式和要求

4、更改数据表

目标:了解数据表的修改内容以及修改语法

概念

更改数据表:修改表名字和表选项

  • 修改表名:rename tab1e 表名 to 新表名

  • 修改表选项:alter table 表名

演示

1、修改表名

rename table t_1 to t1;

结果

2、修改表选项

alter table t1 charset utf8;

结果

小结

1、更改数据表分为两个部分

  • 更改表名:rename table 原表名 to 新表名

  • 更改表选项:alter table 表名 表选项

2、通常我们较少使用更改数据表,数据表应该在创建时就定义好

5、更改字段

目标:了解字段更改的类型和基本语法的使用

概念

更改字段:指针对表创建好后,里面字段的增删改

  • 字段操作包含字段名字、类型和属性的操作

  • 字段操作分为四类

    • 新增字段:add [column]

    • 更改字段名:change0

    • 修改类型:modify0

    • 删除字段:drop。

  • 字段操作还有位置处理

  • 字段操作通常是在表已经存在数据后进行

5.1、新增字段

目标:了解字段新增的语法

概念

新增字段:在表创建好后往里面增加其他字段

  • 字段的新增必须同时存在字段类型

  • 新增语法

alter tab1e 表名 add[column]字段名 字段类型 [字段属性] [字段位置]

演示

1、给已经存在的t_3表增加一个字段age

alter table t_3 add age int;

结果

2、给已经存在的t_3表增加一个字段nickname

alter table t_3 add column nickname varchar(10);

结果

小结

1、新增字段就是给已有表追加一个字段(较少)

2、字段新增必须指定字段类型

3、字段新增语法为:alter table 表名 add [column]字段名 字段类型;

4、字段的追加默认是在所有字段之后

5.2、字段位置

目标:了解字段位置的概念,掌握字段位置的使用

概念

  • 字段位置:指字段放到某个指定字段之后

    • 字段位置分为两种

    • 第一个字段:first

  • 某个字段后:after 已经存在字段名。字段位置适用于追加字段、修改字段、更改字段名

  • 字段位置语法

alter table 表名 字段操作 字段位置;

演示

1、为t_3表增加一个id字段,放到最前面

alter table t_3 add id int first;

结果

2、在t_3表name字段后增加一个身份证字段card

alter table t_3 add card varchar(18) after name;

结果

小结

1、字段位置是配合字段操作的(新增、修改)

2、字段位置分两种

  • 最前面(第一个字段):first

  • 字段后面:after 已存在字段名

5.3、更改字段名

目标:了解更改字段名的基本语法

概念

更改字段名:指对已经存在的字段名进行修改

  • 字段名的修改也必须跟上字段类型

  • 字段名修改语法

alter table 表名 change 原字段名 新字段名 字段类型 [字段属性] [位置]

演示

修改字段名card为sfz

alter table t_3 change card sfz varchar(18);

结果

小结

1、字段名更改通常只是修改字段名字,但是也必须跟随类型

2、字段名修改语法:alter table 表名 change 原字段名 新字段名 字段类型

3、字段名修改change其实也可以修改字段类型、属性和位置,但是通常不使用(专人专事)

5.4、修改字段

目标:了解字段修改的概念和基本语法,掌握字段修改的实现

概念

修改字段:指修改字段的相关信息

  • 修改字段类型、字段属性和位置

  • 修改字段语法

alter table 表名 modify 字段名 字段类型 [字段属性] [位置];

演示

修改身份证的类型为char(18)并且位置放到id后面

alter table t_3 modify sfz char(18) after id;

结果

小结 1、修改字段包含多个操作

  • 字段类型修改

  • 字段属性修改

  • 字段位置修改

2、修改字段语法:alter table 表名 odify 字段名 字段类型 [字段属性] [位置];

6、删除字段

目标:了解字段删除语法

概念

删除字段:即将某个不要的字段从表中剔除

  • 删除字段会将数据也删除(不可逆)

  • 删除字段语法

alter table 表名 drop 字段名;

演示

删除年龄字段

alter table t_3 drop age;

结果

小结

1、字段删除在删除字段名的同时会删除字段对应的数据,而且不可逆

2、字段删除语法:alter table 表名 drop 字段名

7、总结

1、数据表结构的操作是数据操作的基础 2、一般情况下新手都不会接触数据表的设计,但是作为一名新手一定要在使用数据表之前查看数据表的结构信息

3、不要轻易的修改或者删除数据表结构(数据会一并被处理掉) 4、数据表结构的维护通常是一次性的,在业务开展前尽可能好的设计好数据表,而不要后期再进行其他维护

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

如若内容造成侵权/违法违规/事实不符,请联系编程老四网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

智慧城市与数字孪生:共创未来城市新篇章

一、引言 随着科技的飞速发展,智慧城市与数字孪生已成为现代城市建设的核心议题。智慧城市注重利用先进的信息通信技术,提升城市治理水平,改善市民生活品质。而数字孪生则通过建立物理城市与数字模型之间的连接,为城市管理、规划…

如何开发自己的npm包并上传到npm官网可以下载

目录 搭建文件结构 开始编写 发布到npm 如何下载我们发布的npm包 搭建文件结构 先创建新文件夹,按照下面的样子布局 .├── README.md //说明文档 ├── index.js //主入口 ├── lib //功能文件 └── tests //测试用例 然后再此根目录下初始化package包 npm init…

【Docker】有用的命令

文章目录 DockerDocker 镜像与容器的差异Docker的好处Hypervisor运维 一、安装docker二、启动docker三、获取docker镜像四、创建镜像使用命令行创建镜像使用dockerfile创建镜像 五、docker报错 Docker docker镜像(Image) docker镜像类似于虚拟机镜像&…

基于SpringBoot的停车场管理系统

基于SpringBootVue的停车场管理系统的设计与实现~ 开发语言:Java数据库:MySQL技术:SpringBootMyBatis工具:IDEA/Ecilpse、Navicat、Maven 系统展示 前台首页 停车位 个人中心 管理员界面 摘要 摘要:随着城市化进程的…

旧物回收小程序开发,开启绿色生活新篇章

随着科技的发展和人们生活水平的提高,物质生活的丰富带来了大量的废弃物。如何合理处理这些废弃物,实现资源的再利用,已成为社会关注的焦点。旧物回收小程序的开发与应用,为这一问题提供了有效的解决方案。本文将探讨旧物回收小程…

JVM(1)

JVM简介 JVM是Java Virtual Machine的简称,意为Java虚拟机. 在java中,它归属于jre(java运行时环境), 而jre归属于jdk(java开发工具包). 虚拟机是指通过软件模拟的具有完整硬件功能的,运行在一个完全隔离的环境中的完整计算机系统. 常见的虚拟机:JVM, VMwave, VirtualBox. J…

亿道丨三防平板电脑丨安卓加固平板丨加固终端丨如何才叫三防平板

三防平板是指具有防水、防尘和抗震能力的平板电脑。它们通常采用特殊材料和工艺制作,具有更加坚固耐用的外壳和更加严密的密封结构,以适应恶劣的环境条件下的使用。 三防平板的主要优势如下: 防水性能:三防平板具有优异的防水性能…

【Spring MVC篇】简单案例分析

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【Spring MVC】 本专栏旨在分享学习Spring MVC的一点学习心得,欢迎大家在评论区交流讨论💌 目录 一、加法计算器二…

海外媒体推广通过5个发稿平台开拓国际市场-华媒舍

随着全球化的进程,国际市场对于企业的吸引力日益增加。进入国际市场并获得成功并非易事。海外媒体推广发稿平台成为了一种重要的营销手段,能够帮助企业在国际市场中建立品牌形象、传递信息和吸引目标受众。本文介绍了五个海外媒体推广发稿平台&#xff0…

【Flink集群RPC通讯机制(二)】创建AkkaRpcService、启动RPC服务、实现相互通信

文章目录 零. RpcService服务概述1. AkkaRpcService的创建和初始化2.通过AkkaRpcService初始化RpcServer3. ResourceManager中RPC服务的启动4. 实现相互通讯能力 零. RpcService服务概述 RpcService负责创建和启动Flink集群环境中RpcEndpoint组件的RpcServer,且Rpc…

贪心算法---前端问题

1、贪心算法—只关注于当前阶段的局部最优解,希望通过一系列的局部最优解来推出全局最优----但是有的时候每个阶段的局部最优之和并不是全局最优 例如假设你需要找给客户 n 元钱的零钱,而你手上只有若干种面额的硬币,如 1 元、5 元、10 元、50 元和 100…

微服务-Alibaba微服务nacos实战

1. Nacos配置中心 1.1 微服务为什么需要配置中心 在微服务架构中,当系统从一个单体应用,被拆分成分布式系统上一个个服务节点后,配置文件也必须跟着迁移(分割),这样配置就分散了,不仅如此&…

Leetcoder Day21| 回溯理论基础+组合

语言:Java/Go 回溯理论基础 回溯函数也就是递归函数; 所有回溯法的问题都可以抽象为树形结构; 回溯法解决的都是在集合中递归查找子集,集合的大小就构成了树的宽度,递归的深度,都构成的树的深度。 适用的题…

怎么在wifi中实现手机和电脑文件互传

有时我们想手机电脑文件互传,数据线却不在身边,这时我们可以用MiXplorer来实现wifi中手机和电脑互相访问文件。 MiXplorer是一款来自著名安卓开发者论坛XDA的作品,免费且功能强大,被很多人誉为是“全能文件管理器”。 1.在手机上…

This dependency was not found解决方法

问题如上(前端代码),我是引用js文件出的问题,无法找到api/userManage模块。 解决:没感觉哪有问题,把后面加了个/,就解决了,代表src目录,应该是目录和目录之间应该有/作为分割:

2024-02-21(Spark)

1.Spark程序中的相关端口 4040:是一个运行的Application在运行的过程中临时绑定的端口,用以查看当前任务的状态。4040被占用会顺延到4041,4042等。4040是一个临时端口,当前程序运行完成后,4040就会被注销。 4040和Dr…

编译GreatSQL with RocksDB引擎

GreatSQL里也能用上RocksDB引擎 1. 前言 RocksDB 是基于Facebook 开源的一种支持事务的、高度可压缩、高性能的MyRocks存储引擎,特别适用于高度压缩和大容量的数据。以下是一些关键特点: 高性能: LSM 树结构使得RocksDB在写入密集型负载下表现…

【JS逆向 + python模拟获取】今天逆向一个简单的半混淆网站,获取token的生成方法,并用python模拟获取数据

逆向日期:2024.02.20 使用工具:Node.js、python 加密工具:Crypto-js标准库 文章全程已做去敏处理!!! 【需要做的可联系我】 AES解密处理(直接解密即可)(crypto-js.js 标…

Python爬虫-存储到csv乱码-使用utf-8-sig编码

代码 import requests import csvdef get_data():url https://careers.tencent.com/tencentcareer/api/post/Query?timestamp1708743664770&countryId&cityId&bgIds&productId&categoryId&parentCategoryId&attrId&keywordpython&pageIn…

常用显示屏学习——LCD12864(含高级驱动程序)

LCD12864液晶显示屏 屏幕介绍 ① 可显示四行字符,每行可显示8个汉字或者16个数字和字母; ②可串行通信和并行通信; ③ 串口接口管脚信号 通信方法 (一)八位并行通信方法 (二)串行通信方法 用…
推荐文章