MySQL数据库基础(七):DDL数据表操作

文章目录

DDL数据表操作

一、数据表的基本操作

1、数据表的创建

2、查询已创建数据表 

3、修改数据表信息

① 数据表字段添加

② 修改字段名称或字段类型

③ 删除某个字段

④ 修改数据表名称

4、删除数据表

二、字段类型详解

1、整数类型

2、浮点类型

3、日期类型

4、文本


DDL数据表操作

特别注意:创建数据表必须有一个前提,首先要明确选择某一个数据库。

一、数据表的基本操作

1、数据表的创建

创建 => create

数据表 => table

创建 + 数据表 = create table 数据表名称

基本语法:

mysql> create table 数据表名称(字段1 字段类型 [字段约束],字段2 字段类型 [字段约束],...
); 

案例:创建一个admin管理员表,拥有3个字段(编号、用户名称、用户密码)

mysql> create database db_lanson;
mysql> use db_lanson;

use在MySQL中的含义代表选择,use 数据库名称相当于选择指定的数据库。而且use比较特殊,其选择结束后,其尾部可以不加分号;但是强烈建议所有的SQL语句都要加分号,养成一个好习惯。

mysql> create table tb_admin(id tinyint,username varchar(20),password char(32)
) engine=innodb default charset=utf8;

tinyint :微整型,范围-128 ~ 127,无符号型,则表示0 ~ 255

表示字符串类型可以使用char与varchar,char代表固定长度的字段,varchar代表变化长度的字段。

案例:创建一个article文章表,拥有4个字段(编号、标题、作者、内容)

mysql> use db_lanson;
mysql> create table tb_article(id int,title varchar(50),author varchar(20),content text
) engine=innodb default charset=utf8;

text :文本类型,一般情况下,用varchar存储不了的字符串信息,都建议使用text文本进行处理。

varchar存储的最大长度,理论值65535个字符。但是实际上,有几个字符是用于存放内容的长度的,所以真正可以使用的不足65535个字符,另外varchar类型存储的字符长度还和编码格式有关。1个GBK格式的占用2个字节长度,1个utf8格式的字符占用3个字节长度。gbk= 65532~65533/2,utf8 = 65532~65533/3

2、查询已创建数据表 

显示 => show

数据表 => table

显示所有数据表(当前数据库)

mysql> use 数据库名称;
mysql> show tables;

显示数据表的创建过程(编码格式、字段等信息)

mysql> desc 数据表名称;

3、修改数据表信息

① 数据表字段添加

修改 => alter

数据表 => table

基本语法:

mysql> alter table 数据表名称 add 新字段名称 字段类型 first|after 其他字段名称;
选项说明:
first:把新添加字段放在第一位
after 字段名称:把新添加字段放在指定字段的后面

案例:在tb_article文章表中添加一个addtime字段,类型为date(年-月-日)

mysql> alter table tb_article add addtime date after content;
mysql> desc tb_article;

② 修改字段名称或字段类型

修改字段名称与字段类型(也可以只修改名称)

mysql> alter table tb_admin change username user varchar(40);
mysql> desc tb_admin;

仅修改字段的类型

mysql> alter table tb_admin modify user varchar(20);
mysql> desc tb_admin;

③ 删除某个字段
mysql> alter table tb_article drop 字段名称;
mysql> desc tb_article;

④ 修改数据表名称
rename table 旧名称 to 新名称;

4、删除数据表

删除 => drop

数据表 => table

mysql> drop table 数据表名称;

二、字段类型详解

1、整数类型

分类类型名称说明
tinyint很小的整数-128 ~ 127
smallint小的整数-32768 ~ 32767
mediumint中等大小的整数-8388608 ~ 8388607
int(integer)普通大小的整数-2147483648 ~ 2147483647

以上字段类型,都是指有符号型(有正负);无符号型我们可以通过unsigned关键字来进行表示,如tinyint unsigned代表的范围就是0 ~ 255(只有正数)

2、浮点类型

浮点类型(精度失真情况)和定点类型(推荐使用定点类型)

分类类型名称
float单精度浮点数,占用4个字节
double双精度浮点数,占用8个字节
decimal(m,d)定点数,decimal(10,2),占用情况,如果M>D,为M+2否则为D+2

decimal(10,2) :代表这个数的总长度为10 = 整数长度 + 小数长度,2代表保留2位小数

问题:float/double/decimal如何选择?

1)如果你要表示的浮点型数据转成二进制之后能被32位float存储(1个字节=8位),或者可以容忍截断,则使用float,这个范围大概为要精确保存6位数字左右的浮点型数据 比如10分制的店铺积分可以用float存储,小商品零售价格(1000块之内)

2)如果你要表示的浮点型数据转成二进制之后能被64位double存储,或者可以容忍截断,这个范围大致要精确到保存13位数字左右的浮点型数据 比如汽车价格,几千万的工程造价

3)相比double,已经满足我们大部分浮点型数据的存储精度要求,如果还要精益求精,则使用decimal定点型存储 比如一些科学数据,精度要求很高的金钱

3、日期类型

份额里类型名称
yearYYYY 1901~2155
timeHH:MM:SS -838:59:59~838:59:59
dateYYYY-MM-DD 1000-01-01~9999-12-3
datetimeYYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00~ 9999-12-31 23:59:59
timestampYYYY-MM-DD HH:MM:SS 1970~01~01 00:00:01 UTC~2038-01-19 03:14:07UTC

4、文本

类型名称说明
char(m)m为0~255之间的整数定长(固定长度)
varchar(m)m为0~65535之间的整数变长(变化长度)
text允许长度0~65535字节
mediumtext允许长度0~167772150字节
longtext允许长度0~4294967295字节

  • 📢博客主页:https://lansonli.blog.csdn.net

  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

  • 📢本文由 Lansonli 原创,首发于 CSDN博客🙉

  • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨

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

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

相关文章

机器学习入门--门控循环单元(GRU)原理与实践

GRU模型 随着深度学习领域的快速发展,循环神经网络(RNN)已成为自然语言处理(NLP)等领域中常用的模型之一。但是,在RNN中,如果时间步数较大,会导致梯度消失或爆炸的问题,…

蓝桥杯嵌入式STM32G431RBT6知识点(主观题部分)

目录 1 前置准备 1.1 Keil 1.1.1 编译器版本及微库 1.1.2 添加官方提供的LCD及I2C文件 1.2 CubeMX 1.2.1 时钟树 1.2.2 其他 1.2.3 明确CubeMX路径,放置芯片包 2 GPIO 2.1 实验1:LED1-LED8循环亮灭 ​编辑 2.2 实验2&#xff1a…

Gitlab CI/CD docker命令报错:/usr/bin/bash: line 136: docker:command not found

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

深入实战:ElasticSearch的Rest API与迭代器模式在高效查询中的应用

在我们公司,大多数Java开发工程师在项目中都有使用Elasticsearch的经验。通常,他们会通过引入第三方工具包或使用Elasticsearch Client等方式来进行数据查询。然而,当涉及到基于Elasticsearch Rest API的/_sql?formatjson接口时,…

2 物理层(三):数据传输的方式,同步传输和异步传输

目录 1 数据的传输方式1.1 并行传输1.2 串行传输 2 同步传输和异步传输2.1 同步传输2.2 异步传输2.3 同步和异步传输对比 1 数据的传输方式 在数据通信中,数据传输方式有并行传输和串行传输两种 1.1 并行传输 定义:并行传输是指数据以成组的方式在多个…

NC 输出模板自定义变量使用加减乘除余等公式计算时无法显示结果的问题处理办法

NC 输出模板自定义变量使用加减乘除余等公式计算时无法显示结果的问题处理办法 比如,求两个字段的差,如果这样写,模板打印输出的时候,是不会显示有值的: sub(vouchercreditamount, voucherdebitamount) 或者 voucherc…

picker选择器-年月日选择

从底部弹起的滚动选择器。支持五种选择器,通过mode来区分,分别是普通选择器,多列选择器,时间选择器,日期选择器,省市区选择器,默认是普通选择器。 学习一下日期选择器 平台差异说明 日期选择默…

K8s进阶之路-控制器无状态服务:

RC/RS/Deployment 控制器 deployment无状态(最常用): nginx和Apache statefulset有状态: mysql和redis damonset初始化 job一次性任务 cronjob任务计划 1无状态:不会对本地环境产生依赖如:nginx和Apache …

Kubernetes基础(二十二)-k8s持久化存储详解

1 volume 1.1 介绍 在容器中的磁盘文件是短暂的,当容器崩溃时,Kubelet会重新启动容器,但容器运行时产生的数据文件都将会丢失,之后容器会以最干净的状态启动。另外,当一个Pod运行多个容器时,各个容器可能…

新版Java面试专题视频教程——框架篇

新版Java面试专题视频教程——框架篇 框架篇 01-框架篇介绍02-Spring-单例bean是线程安全的吗03-Spring-AOP相关面试题04-Spring-事务失效的场景05-Spring-bean的生命周期5.1 BeanDefinition 06-Spring-bean的循环依赖(循环引用)6.1 一般对象的循环依…

【C++】类与对象的项目实践 — 日期管理工具

类与对象的实践 项目背景项目需求项目实现1 日期结构设计2 构造函数2.1 全缺省构造函数2.2 拷贝构造函数2.3 析构函数 3 赋值运算符重载3.1 重载3.2 重载重载前置 和 后置 4 关系操作符重载5 工具方法5.1 计算日期差5.2 日期转换为字符串5.3 通过字符串构建对象 完整源代码Dat…

云数贸云生活中心:用云生活理念引领社会和谐发展

在数字经济的浪潮下,云数贸云生活中心不仅在科技进步与文明程度上作出了积极贡献,更在推动社会和谐、承担企业社会责任方面展现出了模范作用。通过与“草根互助爱心社区”的紧密合作,云数贸云生活中心正致力于构建一个更加和谐、互助的社会环…

socket通信 smallchat简介

文章目录 前言一、socket的基本操作(1) socket()函数(2) bind()函数(3) listen()、connect()函数(4) accept()函数(5) read()、write()等函数(6) close()函数 二、smallchat代码流程smallchat-server.csmallchat-client.cchatlib.c 参考资料 前言 本文介绍了socket通信的相关A…

六、图像的几何变换

文章目录 前言一、镜像变换二、缩放变换 前言 在计算机视觉中,图像几何变换是指对图像进行平移、旋转、缩放、仿射变换和镜像变换等操作,以改变图像的位置、尺寸、形状或视角,而不改变图像的内容。这些变换在图像处理、模式识别、机器人视觉…

更改WordPress作者存档链接author和用户名插件Change Author Link Structure

WordPress作者存档链接默认情况为/author/Administrator(用户名),为了防止用户名泄露,我们可以将其改为/author/1(用户ID),具体操作可参考『如何将WordPress作者存档链接中的用户名改为昵称或ID…

猪圈Pigsty-PG私有RDS集群搭建教程

博客 https://songxwn.com/Pigsty-PG-RDS/ 简介 Pigsty 是一个更好的本地自建且开源 RDS for PostgreSQL 替代,具有以下特点: 开箱即用的 PostgreSQL 发行版,深度整合地理、时序、分布式、图、向量、分词、AI等 150 余个扩展插件&#xff…

文件IO的lseek以及目录IO

文件IO之 lseek: 1. lseek off_t lseek(int fd, off_t offset, int whence); 功能: 重新设定文件描述符的偏移量 参数: fd:文件描述符 offset:偏移量 whence: SEEK_SET 文件开头 …

基于scrapy框架的单机爬虫与分布式爬虫

我们知道,对于scrapy框架来说,不仅可以单机构建复杂的爬虫项目,还可以通过简单的修改,将单机版爬虫改为分布式的,大大提高爬取效率。下面我就以一个简单的爬虫案例,介绍一下如何构建一个单机版的爬虫&#…

更快找到远程/自由工作的网站

不要使用Fiver或Upwork。 它们已经饱和了。 下面是10个更快找到远程/自由工作的网站: 1. Toptal 这个网站专门为熟练的自由职业者提供远程工作机会,如Shopify和Priceline等一流公司。 他们只接受软件开发、设计和金融等领域的顶级3%自由职业者。 htt…

2024-02-19(Flume)

1.flume中拦截器的作用:个人认为就是修改或者删除事件中的信息(处理一下事件)。 2.一些拦截器 Host Interceptor,Timestamp Interceptor,Static Interceptor,UUID Interceptor,Search and Rep…