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

MySQL---8、创建和管理表

1、基础知识

1.1 一条数据存储的过程

创建数据库-->确认字段-->创建数据表-->插入数据

1.2 标识符的命名规则

1、数据库名、表名不得超过30个字符,变量名限制为29个
2、必须只能包含A-Z、a-z、0-9,、_共63个字符
3、数据库名、表名、字段名等对象名中间不要包含空格
4、同一个MySQL软件中,数据库不能重名;同一个库中,表不能重名,;同一个表中,字段不能重名
5、不想保证你的字段没有和保留字、数据库系统或常用方法冲突。如果坚持使用,请在SQL语句中使用`(着重号)引起来
6、保持字段名和类型的一致性:在命名字段并为其指定数据类型的时候一定要保证一致性,假如数据类型在一个表里是整数,那在另一个表中可就变成字符型了。

1.3 MySQL中的数据类型

类类型类型名
整数类型TINYINT、SMALLINT、MEDIUMINT、INT或(INTEGER)、BIGINT
浮点类型FLOAT、DOUBLE
定点数类型DECIMAL
位类型BIT
日期时间类型YEAR、TIME、DATE、DATETIME、TIMESTAMP
文本字符类型CHAR、VARCAHR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT
枚举类型ENUM
集合类型SET
二进制字符串类型BINARY、VARBINARY、TINYBLOB、BOLB、MEIDUMBOLB、LONGBOLB
JSON类型JSON对象、JSON数组

其中常见的几类类型介绍如下:

数据类型描述
INT从-2^31 到2 ^31-1 。存储大小为四个字节
CHAR(size)定长字符数据。若为指定,默认为一个字符,最大长度为255
VARCHAR(size)可变长字符数据,根据字符串实际长度保存,必须指定长度
FLOAT(M,D)单精度,占用4个字节,M=整数位+小数位,D=小数位。D<=M<=255,0<=D<=30,默认M+D<=6
DOUBLE(M,D)双精度,占用8个字节,D<=M<=255,0<=D<=30,默认M+D<=15
DECIMAL(M,D)高精度小数,占用8个字节,D<=M<=65,0<=D<=30 ,最大取值·访问与DOUBLE相同
DATE日期型数据,格式’YYYY-MM-DD’
BLOB二进制形式的长文本数据,最大可达4G
TEXT长文本数据,最大可达4G

2、创建和管理数据库

2.1 创建数据库

方式1:简单创建数据库
create database 数据库名;
方式2:创建数据库并且指定数据库的字符集
create database 数据库名 character set 字符集;
方式3:在创建数据库之前判断创建的数据库名是否已经存在,如果存在就不创建,如果不存在就创建
create database if not exists 数据库名;

2.2 使用数据库

1、查看当前所有的数据库
show databases;
2、查看当前使用的数据库
show database();  
3、查看指定数据下所有的表
show tables from 数据库名;
4、查看数据库的创建信息
desc create 数据名;
5、切数据库
use 数据库名;

2.3 修改数据库

1、更改数据库字符集
alter database 数据库名 character set 字符集; 
2、删除指定的数据库
drop database 数据库名; 
drop database if not exists 数据库名;

3、创建表

3.1 创建方式1

必须具备:CREATE TABLE 权限存储空间
语法格式:
create table [if not exists] 表名(字段1,数据类型[约束条件][默认值],字段2,数据类型[约束条件][默认值],字段3,数据类型[约束条件][默认值]...[表约束条件]
);
必须指定:表名列名(字段名),数据类型,长度
可选指定:约束条件默认值

3.2 创建方式2

使用AS sbuquery选项,将创建表和插入数据结合起来
指定的列和子查询中的列要一一对应
通过列名和默认值定义列

语法格式:

create table 表名[(column,column1...)]
as subquery;

3.3 查看数据表结构

语法格式:

show create table 表名\G;

4、修改表

修改表指的是修改数据库中已经存在的数据表的结构
使用ALTER TABLE语句可以实现:1、向已有的表中添加列2、修改现有表中的列3、删除现有表中的列4、重命名现有表中的列

4.1 追加一个列

语法格式:

alter table 表名 ADD [column] 字段名 字段类型 [first|after 字段名]

4.2 修改一个列

可以修改列的数据类型、长度、默认值和位置(不能重命名!!)

语法格式:

alter table 表名 modify [column] 字段名1 字段类型 [Default 默认值][first|after 字段名]

4.3 重命名一个列

语法格式:

alter table 表名 change  [column] 字段名 新列名 新数据类型;

4.4 删除一个列

语法格式:

alter table 表名 drop [column] 字段名 ;

5、重命名表

方式1:使用rename
rename table 旧表名
to 新表名
方式2:
alter table 旧表名
rename [to] 旧表名;

必须是对象的拥有者

6、删除表

在MySQL中,当一张数据表没有与其他任何数据表形成关联关系时,可以将当前数据表直接删除。
数据和结构都被删除
所有正在运行的相关事务被提交
所有相关索引被删除

语法格式:

drop table [if exists] 数据表1[,数据表2,...]

7、清空表

TRUNCATE TABLE语句:删除表中所有的数据释放表的存储空间
TRUNCATE语句不能回滚,而使用Delete语句删除数据可以回滚

语法格式:

TRUNCATE table 表名

相关文章:

MySQL---8、创建和管理表

1、基础知识 1.1 一条数据存储的过程 创建数据库-->确认字段-->创建数据表-->插入数据1.2 标识符的命名规则 1、数据库名、表名不得超过30个字符&#xff0c;变量名限制为29个 2、必须只能包含A-Z、a-z、0-9,、_共63个字符 3、数据库名、表名、字段名等对象名中间不…...

图像分类简单介绍

文章目录 图像分类简单介绍什么是图像分类图像分类的背景和意义传统的图像分类方法基于深度学习的图像分类方法总结 图像分类简单介绍 图像分类是计算机视觉领域的一个基本任务&#xff0c;其目标是将输入的图像分配给某个预定义的类别&#xff08;即标签&#xff09;。在本教…...

很多博主用Markdown格式文章?直呼真不错!

概述 Markdown 是一种轻量级标记语言&#xff0c;它可以使我们专注于写作内容&#xff0c;而不用过多关注排版&#xff0c;很多博主、作家等都用它来撰写文章~ 本文将给各位小伙伴介绍 Markdown 语法的使用&#xff0c;本篇文章索奇就是用的纯 markdown 语法来写的~ 标题 一级…...

【2023/05/07】汇编语言

Hello&#xff01;大家好&#xff0c;我是霜淮子&#xff0c;2023倒计时第2天。 Share Stray birds of summer come to my window to sing and fly away. And yellow leaves of autumn,which have no songs,flutter and full there with a sigh. 译文&#xff1a; 夏天的鸟&…...

AI 生成第3篇测试文章:怎么编写测试计划?

背景 在软件开发过程中&#xff0c;测试是十分重要的环节&#xff0c;测试计划是测试的基础和重要的组成部分。一个完善的测试计划能够指导测试工作&#xff0c;明确测试范围和要求&#xff0c;提高测试效率&#xff0c;保证软件质量和可靠性。本文将从测试计划的定义、编写步…...

怎么洗稿容易过稿-在线洗稿软件

自媒体洗稿软件 即使您是一位优秀的自媒体写作人员&#xff0c;也难免遇到让人头疼的撰写问题&#xff0c;例如无法处理大量原始文本、需要手动删除冗余信息、缺少时间针对每篇文章进行深入修改等问题。但是&#xff0c;现在有了我们的一款自媒体洗稿软件&#xff0c;您再也不需…...

图书馆客流人数统计分析系统方案

智慧客流人数统计分析系统可以帮助图书馆管理者更好地管理人群流量。系统能够自动统计区域内的人流量高峰期&#xff0c;并通过数据分析提供更加合理的管控&#xff0c;从而提区域内人群流动性&#xff0c;避免拥堵的情况。 AI客流视觉监控 客流量管控分析系统意义 讯鹏客流量管…...

linux命令之crontab详解

crontab 提交和管理用户的需要周期性执行的任务 更多linux命令详解&#xff1a;linux命令在线工具 补充说明 crontab命令 被用来提交和管理用户的需要周期性执行的任务&#xff0c;与windows下的计划任务类似&#xff0c;当安装完成操作系统后&#xff0c;默认会安装此服务工…...

浅谈一下接口工具(jmeter、postman、swagger等)

一、接口都有哪些类型&#xff1f; 接口一般分为两种&#xff1a;1.程序内部的接口 2.系统对外的接口 系统对外的接口&#xff1a;比如你要从别的网站或服务器上获取资源或信息&#xff0c;别人肯定不会把 数据库共享给你&#xff0c;他只能给你提供一个他们写好的方法来获取…...

面试题:react、 vue中的key有什么作用? (key的内部原理)

面试题:react、 vue中的key有什么作用? &#xff08;key的内部原理) 1.虚拟DOM中key的作用: key是虚拟DOM对象的标识&#xff0c;当状态中的数据发生变化时&#xff0c;Vue会根据【新数据】生成【新的虚拟DON】,随后Vue进行【新虚拟DOM】与【旧虚拟DOM】的差异比较&#xff0…...

C++之继承

目录 一、继承的概念及定义 1.1继承的概念 1.2继承的定义 1.2.1继承的格式 1.2.2继承基类成员访问方式的变化 二、基类和派生类对象赋值转换 三、继承中的作用域 4.派生类的默认成员函数 五、继承与友元 六、继承与静态成员 七、菱形继承及菱形虚拟继承 7.1菱形继承的问…...

轻松掌握!Pandas的数据添加技巧,3秒学会更高效的方法

在Pandas中&#xff0c;如果你想高效地向一个DataFrame添加一行数据&#xff0c;千万不要使用.append()方法&#xff01;因为这种方法需要创建新的对象然后再赋值&#xff0c;效率较低&#xff0c;尤其是DataFrame较大时。 本文将介绍3种Pandas添加一行数据更高效的方法&#x…...

层次结构工程命名建议

对于这种多层次的结构&#xff0c;我们可以采用一些通用的命名方式来描述不同的层次。以下是一种可能的方式&#xff0c;仅供参考&#xff1a; 第一层&#xff1a;模块/模块组件 可以采用名词或形容词名词的方式来命名&#xff0c;例如&#xff1a; Action: 动作Behavior: 行…...

Google Play应用广告该如何运作

Google 应用广告是一种付费广告渠道&#xff0c;可以帮助我们把应用推向特定的目标受众。比如可以使用应用安装广告&#xff0c;用来吸引用户安装我们的应用&#xff0c;我们可以选择手动设置出价和定位&#xff0c;或使用 Google Ads 自动设置目标和出价。 Google 在创建和投…...

Java版电子招投标系统源码之了解电子招标投标全流程

随着各级政府部门的大力推进&#xff0c;以及国内互联网的建设&#xff0c;电子招投标已经逐渐成为国内主流的招标投标方式&#xff0c;但是依然有很多人对电子招投标的流程不够了解&#xff0c;在具体操作上存在困难。虽然各个交易平台的招标投标在线操作会略有不同&#xff0…...

能源设备智能维修AR远程作业指导平台降低运营成本

AR远程专家指导系统是一种基于AR增强现实技术搭建的远程协作解决方案&#xff0c;它可以让专家全视角掌握操作现场&#xff0c;并将专精知识和技能传递给远程现场的工作人员&#xff0c;以帮助他们解决各种技术难题和困难&#xff0c;赋能各行各业行业。 现场人员通过手机、平板…...

【实验笔记】深度学习中的确定性Uncertainty in Deep Learning(资料汇总,不断更新)

现在我们传统深度学习算法几乎只能给出一个特定的结果&#xff0c;而不能给出模型自己对结果有多么confident. 的确&#xff0c;在分类问题中&#xff0c;我们会在网络的最后一层添加一个softmax函数来获得概率&#xff0c;但是模型仍然无法表示自己对结果不确定。 资料&#…...

第七章 Bash 操作

第七章 Bash 操作 一、 何谓 Bash Bash&#xff08;Bourne Again shell&#xff09;,是目前 Linux 上最流行的 Shell。 Shell&#xff0c;命令语言解释器&#xff08;command-language interpreter&#xff09; Bash 相当于 DOS 系统的 Command.exe。 Linux 上还有一些较流…...

JS知识点

1、其他值到字符串的转换规则&#xff1f; - Null和Undefined类型&#xff0c;null转化为 null ,undefined转化为‘undefined’ - Boolean类型&#xff0c;true转化为‘true’&#xff0c;false转化为 ‘ false’ - Symbol类型的值直接转换&#xff0c;但是只允许显示强制类…...

FFmpeg YUV 编码 H264

1. x264 库 由于 FFmpeg 不支持 h264 编码,所以需要集成 x264 库,现在使用的是当前最新版本 1.1 官方下载地址: videolanhttps://www.videolan.org/developers/x264.html 1.2 编译脚本地址: x264-ioshttps://github.com/kewlbear/x264-ios 1.3 将下载的 x264 库和 x264...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

VB.net复制Ntag213卡写入UID

本示例使用的发卡器&#xff1a;https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

蓝桥杯 冶炼金属

原题目链接 &#x1f527; 冶炼金属转换率推测题解 &#x1f4dc; 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V&#xff0c;是一个正整数&#xff0c;表示每 V V V 个普通金属 O O O 可以冶炼出 …...

在Ubuntu24上采用Wine打开SourceInsight

1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

JavaScript基础-API 和 Web API

在学习JavaScript的过程中&#xff0c;理解API&#xff08;应用程序接口&#xff09;和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能&#xff0c;使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...

省略号和可变参数模板

本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...