MySQL -DDL 及表类型
DDL
创建数据库
CREATE DATABASE [IF NOT EXISTS] db_name
[create_specification [, create_specification] ...]
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
1.CHARACTER SET:指定数据库采用的字符集,如果不指定字符集,默认utf8
2.COLLATE:指定数据库字符集的校对规则(常用的 utf8_bin、utf8_general ci注意默认是utf8_general_ci)
#创建一个数据库
CREATE DATABASE ww_db01;
#使用指令删除数据库
DROP DATABASE ww_db01;
#创建一个使用utf-8字符集的数据库
CREATE DATABASE ww_db02 CHARACTER SET utf8;
#创建一个使用utf8字符集,并带校对规则的数据库
CREATE DATABASE ww_db03 CHARACTER SET utf8 COLLATE utf8_bin;#校对规则 utf8_bin 区分大小写 默认是 utf8_general ci 不区分大小写
查询数据库
显示数据库语句:
SHOW DATABASES
显示数据库创建语句:
SHOW CREATE DATABASE db name
数据库删除语句:DROP DATABASE [IF EXISTS] db name
#查看当前所有数据库
SHOW DATABASES;
#查看前面创建数据库的语句
SHOW CREATE DATABASE `ww_db01`;
#特别说明,在创建数据库、表时使用反引号, 可以规避关键字
CREATE DATABASE `SET`;CREATE DATABASE SET;
#删除前面创建的数据库
DROP DATABASE ww_db01;
DROP DATABASE `SET`;
备份数据库
备份数据库(注意:在DOS执行)命令行mysqldump-u用户名-p-B数据库1数据库2数据库n >文件名.sql
恢复数据库(注意:进入Mysql命令行再执行)source 文件的全路径名.sql
示例
1、管理员打开cmd, 直接输入指令 C:\Users\Administrator>mysqldump -u root -p -B ww_db02 ww_db03 >e:test.sql

2、切换到数据库安装目录,进入数据库后,执行命令 source e:\\test.sql

创建表
CREATE TABLE table name
(
field1 datatype,
field2 datatype,
field3 datatype
)character set字符集collate 校对规则 engine 引擎
CREATE TABLE IF NOT EXISTS employees (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
department VARCHAR(50)
);
DROP TABLE IF EXISTS `emp` ; //删除表, 这样写如果已经不存在这个表可以不用报错
示例
CREATE TABLE `user` (id INT,`name` VARCHAR(255),`password` VARCHAR(255),`birthday` DATE)CHARACTER SET utf8 COLLATE utf8_bin ENGINE INNODB;
修改表
使用ALTER TABLE语句追加,修改,或删除列的语法. (ALTER 改变的意思)
添加列 ALTER TABLE tablename
ADD (column datatype [DEFAULT expr][, column datatype]...);
修改列 ALTER TABLE tablename
MODIFY (column datatype [DEFAULT expr][, column datatype]..);
删除列 ALTER TABLE tablename
DROP (column);
查看表的结构:desc 表名;--可以查看表的列
修改表名:Rename table表名 to 新表名
修改表字符集:alter table 表名character set字符集;
示例: 像是在说话一样,很流畅
CREATE TABLE `emp` (`Id` INT,`name` VARCHAR(32),`sex` CHAR(1),`birthday` DATE,`entry_date` DATETIME,`job` VARCHAR(32),`Salary` DOUBLE,`resume` text)CHAR SET utf8 COLLATE utf8_bin ENGINE innodb;
#修改表的操作练习
#在emp表增加一个image列,VARCHAR类型(要求resume后面)。
ALTER TABLE emp ADD image VARCHAR(32) NOT NULL DEFAULT '' AFTER resume;
#修改job列,使其长度为60
ALTER TABLE emp MODIFY job VARCHAR (60);
#删除sex列
ALTER TABLE emp DROP sex;
#表名改为employee
RENAME TABLE emp TO employee;
#修改表的字符集为utf8
ALTER TABLE employee CHARACTER SET utf8;
#列名name修改为user_name
ALTER TABLE employee CHANGE `name` `user_name`
VARCHAR(32) NOT NULL DEFAULT '';
mysql列类型


整形数据

整形数据选择原则: 应该根据具体需求,选择占用空间小 的数据类型
#1.如果没有指定unsinged,则TINYINT就是有符号
#2.如果指定 unsinged,则TINYINT就是无符号0-255
CREATE TABLE t3 (id TINYINT);
CREATE TABLE t4 (id TINYINT UNSIGNED);
Bit位类型

bit这个数据类型用的比较少, 如果是需要存储0或1的情况,可以使用该类型
小数类型
数值型(小数)的基本使用
1. FLOAT/DOUBLE [UNSIGNED]Float 单精度精度,Double 双精度.
单精度浮点数(float)的数值范围为-3.4E38~3.4E38,大约可以表示7位十进制下的有效数字。
双精度浮点数(double)可以表示的数字的绝对值范围大约是:-2.23E308 ~ 1.79E308,可以表示十进制的15或16位有效数字。
2. DECIMAL[M,D] [UNSIGNED] //可以存放非常大的数
·可以支持更加精确的小数位。
M最大65。D最大是30。如果D被省略,默认是0。
如果M被省略,默认是10。
建议:如果希望小数的精度高,推荐使用decimal
以下是DECIMAL数据类型的语法示例:
CREATE TABLE table_name ( column_name DECIMAL(precision, scale)
);
在上面的语法中,precision表示数字的总位数,包括小数点左侧和右侧的位数。scale表示小数点右侧的位数。
例如,如果要创建一个名为products的表,其中有一个名为price的列,可以将其定义为DECIMAL数据类型,精度为10,小数位数为2,如下所示:
CREATE TABLE products ( price DECIMAL(10, 2)
);
这将创建一个能够存储最大值为99999999.99的price列。
字符串类型

·字符串使用细节
1. 细节1 char(4)//这个4表示字符数(最大255),不是字节数,不管是中文还是字母都是放四个,按字符计算
按gbk编码方式,那么char(4)表示的是4*2=8个字节,
按utf8编码,那么char(4)表示的是4*3 = 12个字节
.varchar(4)/这个4表示字符数,不管是字母还是中文都以定义好的表的编码来存放数据.
不管是中文还是英文字母,都是最多存放4个,是按照字符来存放的.
2.细节2
char(4)是定长(固定的大小),就是说,即使你插入‘aa',也会占用分配的4个字符d.
varchar(4)是变长,就是说,如果你插入了‘aa',实际占用空间大小并不是4个字符,而是按照实际占用空间来分配(说明:varchar本身还需要占用1-3个字节来记录存放内容长度 , 即varchar 存放的其实是 aa 加上1-3个字节)

4.细节4
在存放文本时,也可以使用Text数据类型.可以将TEXT列视为VARCHAR列,注意Text不能有默认值.大小0-2へ16字节, 2へ16 = 65536即等于varchar的最大字节数
如果希望存放更多字符,可以选择MEDIUMTEXT 0-2へ24 或者LONGTEXT 0~2へ32
日期类型
1、date
2、datetime

3、timestamp

相关文章:
MySQL -DDL 及表类型
DDL 创建数据库 CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...] create_specification:[DEFAULT] CHARACTER SET charset_name [DEFAULT] COLLATE collation_name 1.CHARACTER SET:…...
主从同步机制
RocketMQ的Broker分为Master和Slave两个角色,为了保证高可用性,Master角色的机器接收到消息后,要把内容同步到Slave机器上,这样一旦Master宕机,Slave机器依然可以提供服务。下面分析Master和Slave角色机器间同步功能实…...
Leetcode算法系列| 3. 无重复字符的最长子串
目录 1.题目2.题解C# 解法一:滑动窗口算法C# 解法二:索引寻找Java 解法一:滑动窗口算法Java 解法二:遍历字符串 1.题目 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例1: 输入: s "ab…...
Spring Cache(缓存框架)
学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需…...
android开发:安卓13Wifi和热点查看与设置功能
近日对安卓热点功能做了一些技术验证,目的是想利用手机开热点给设备做初始化,用的是安卓13,简言之: 热点设置功能不可用,不可设置SSID和密码,不可程序控制开启关闭,网上的代码统统都过时了Loca…...
Java中的mysql——面试题+答案——第24期
当涉及MySQL时,面试题可以涵盖更多高级主题、安全性和实践经验。 MySQL中的存储引擎InnoDB和MyISAM的区别是什么? 答案: InnoDB支持事务,而MyISAM不支持。InnoDB使用行级锁,而MyISAM使用表级锁。InnoDB支持外键&#x…...
王者小游戏
游戏里的经验动物 Bear package beast; import sxt.GameFrame; public class Bear extends Beast {public Bear(int x, int y, GameFrame gameFrame) {super(x, y, gameFrame);setImg("C:\\Users\\辛欣\\OneDrive\\桌面\\王者荣耀图片(1)\\王者荣耀图片\\beast\\bear.jp…...
using meta-SQL 使用元SQL
%DatePart Syntax %DatePart(DTTM_Column) Description The %DatePart meta-SQL variable returns the date portion of the specified DateTime column. DatePart meta-SQL变量返回指定的DateTime列的日期部分。 Note: This meta-SQL variable is not implemented for COBOL. …...
函数式接口
作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 咱们今天讨论下函数式接…...
使用shell快速查看电脑曾经连接过的WiFi密码
此方法只能查看以前连接过的wifi名称和对应的密码 查看连接过的WiFi名称netsh wlan show profiles查看具体的WiFi名称netsh wlan show profile name"你的wifi名称" keyclear...
通过亚马逊云科技云存储服务探索云原生应用的威力
文章作者:Libai 欢迎来到我们关于“使用亚马逊云科技云存储服务构建云原生应用”的文章的第一部分。在本文中,我们将深入探讨云原生应用的世界,并探索亚马逊云科技云存储服务在构建和扩展这些应用中的关键作用。 亚马逊云科技开发者社区为开发…...
Boot工程快速启动【Linux】
Boot工程快速启动【Linux】 在idea中打包cd usr/在local文件夹下mkdir app进入app文件夹把打包好的文件(只上传其中的jar)上传到app文件下检查linux中的Java版本,保证和项目的Java 版本保持一致运行 java -jar sp补全***.jar想看效果得查询当…...
三 STM32F4使用Sys_Tick 实现微秒定时器和延时
更多细节参考这篇 1. 什么是时钟以及作用 1.1 什么是时钟 时钟是由电路产生的周期性的脉冲信号,相当于单片机的心脏 1.2 时钟对于STM32的作用 指令同步:cpu和内核外设使用时钟信号来进行指令同步数据传输控制: 时钟信号控制数据在内部总…...
唯创知音WT2003H系列MP3录音语音芯片:高精度ADC与DAC,强大IO驱动能力成就音频卓越
在音频领域里,高精度和强大的驱动能力一直是工程师们追求的目标。唯创知音的WT2003H系列MP3录音芯片恰好满足了这一需求,该芯片具备16 bit高精度的ADC及DAC功能,大功率的IO驱动能力,能够直接驱动64mA,为电子产品带来卓…...
记录Windows下安装redis的过程
开源博客项目Blog支持使用EasyCaching组件操作redis等缓存数据库,在继续学习开源博客项目Blog之前,准备先学习redis和EasyCaching组件的基本用法,本文记录在Windows下安装redis的过程。 虽然redis官网文档写着支持Linux、macOS、Windows等…...
7.5 Windows驱动开发:监控Register注册表回调
在笔者前一篇文章《内核枚举Registry注册表回调》中实现了对注册表的枚举,本章将实现对注册表的监控,不同于32位系统在64位系统中,微软为我们提供了两个针对注册表的专用内核监控函数,通过这两个函数可以在不劫持内核API的前提下实…...
NC56 XML 报文校验出错一例
好好的上线了、下午开完会告诉我有个凭证没法传入 NC 了。 请求报文如下: <?xml version"1.0" encodingUTF-8?> <ufinterface roottag"voucher" billtype"gl" replace"Y" receiver"10108" sender&q…...
STM32 ADC转换器、串口输出
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、ADC是什么?二、STM32的ADC2.1 认识STM32 ADC2.2转换方式2.3 为什么要校准?2.4 采样时间计算2.5 触发方式2.6 多通道采集解决方案2.7…...
[MySQL--基础]函数、约束
hello! 这里是欧_aita的频道。 今日语录:不管你觉得自己能做什么,或者你觉得你不能做什么,你都是对的。 祝福语:愿你的程序像太阳一样明亮,给世界带来温暖和光明。 大家可以在评论区畅所欲言,可以指出我的错误…...
企业数字化决策者深度分享
2023年11月18日,数聚股份应邀参加在台州椒江举办的数字中国企业峰会。本次会议中,诸多在企业数字化进程中做出重要贡献的高层管理者分享了各行各业极具引领性、创新性的数字化实践案例、产品和解决方案;数聚股份董事长陈庆华携其前瞻的数字化…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...
安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...
ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
python执行测试用例,allure报乱码且未成功生成报告
allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...
LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用
中达瑞和自2005年成立以来,一直在光谱成像领域深度钻研和发展,始终致力于研发高性能、高可靠性的光谱成像相机,为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...
