首页 > 数据库 >DAY3 MySQL学习笔记

DAY3 MySQL学习笔记

时间:2024-10-13 18:47:11浏览次数:9  
标签:comment 10 存储 01 bytes DAY3 笔记 char MySQL

DAY3 MySQL学习笔记

DDL-表操作-数据类型

MySQL中数据类型主要分为三类:数值型、字符串型、日期时间类型

数值类型

分类类型大小有符号(SIGNED)范围无符号(UNSIGNED)范围描述
TINTING1byte(-128,127)(0,255)小整数值
SMALLINT2bytes(-32768,32767)(0,65536)大整数值
MEDIUMINT3bytes(-8388608,8388607)(0,16777215)大整数值
INT或INTEGER4bytes(-2147483648,2147483647)(0,4294967295)大整数值
BIGINT8bytes(-263,263-1)(0,2^64-1)极大整数值
FLOAT4bytes(-3.402823466 E+38,3.402823466351 E+38)0和(1.175494351 E-38,3.402823466 E+38)单精度浮点数值
DOUBLE8bytes(-1.7976931348623157 E+308,1.7976931348623157 E+308)0和(2.2250738585072014 E-308,1.7976931348623157 E+308)双精度浮点数值
DECIMAL依赖于M(精度)和D(标度)的值eg:123.45精度为5标度为2,精度是整个数的位数,标度是小数位数依赖于M(精度)和D(标度)的值小数值(精确定点数)

age TINTING UNSIGNED描述年龄

score double(4,1) 其中double类型在括号里写的分别是精度和标度,描述的为100.0,精度为4,标度为1

字符串类型

分类类型大小描述
CHAR0-255 bytes定长字符串,char(10)其中10代表当前存储最多为10个字符,一旦超过10 那就会报错,定长的意思是没有使用到10个字节都会按照10个字节算,多余的部分用空格补上,性能好
VARCHAR0-65535 bytes变长字符串,varchar(10),变长的意思是存储1个字符就用1个字符的空间,存储2个就是2个空间,存储多少就是多少,根据存储内容计算存储占用空间,相对char性能较差,因为它要计算占用的空间
TINYBLOB0-255 bytes不超过255个字符的二进制数据
TINYTEXT0-255 bytes短文本字符串
BLOB0-65 535 bytes二进制形式的长文本数据
TEXT0-65 535 bytes长文本数据
MEDIUMBLOB0-16 777 215 bytes二进制形式的中等长度文本数据
MEDIUMTEXT0-16 777 215 bytes中等长度文本数据
LONGBLOB0-4 294 967 295 bytes二进制形式的极大文本数据
LONGTEXT0-4 294 967 295 bytes极大文本数据

二进制数据:视频、音频、安装包(一般会用专门的文件服务器用于存储)

如何选择char和varchar?

用户名nameuser(一般不能超过50个字):选择varchar更好,用户可能会输入1位,或者多位,那根据不同的输入进行调整会更好

性别gender:char更好,因为输入的不是男就是女,在存储的时候就是占用1个空间,那性能会更好

日期时间类型

分类类型大小范围格式描述
DATE31000-01-01至9999-12-31YYYY-MM-DD日期值
TIME3-838:59:59至838:59:59HH:MM:SS时间值或持续时间
YEAR11901至2155YYYY年份值
DATETIME81000-01-01 00:00:00至9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和时间值
TIMESTAMP41970-01-01 00:00:01至2038-01-19 03:14:07YYYY-MM-DD HH:MM:SS混合日期和时间值,时间戳

描述某人生日

birthday用data更准确

birthday data

案例实操

根据需求创建表(设计合理的数据类型、长度)

设计一张员工信息表,要求如下:

1.编号(数字)

2.员工工号(字符串类型,不超过10位)

3.员工姓名(字符串类型,不超过10位)

4.性别(男、女,存储1个汉字)

5.年龄(正常人年龄,不可能存在负数)

6.身份证(二代身份证号均为18位,身份证中有X这样的字符)

7.入职时间(取值年月日即可)

自己写代码

create table staff_infor(
	id int comment '编号',
	job name char(10) comment '工号',
	name varchar(10) comment '姓名',
	gender char(1) comment '性别',
	age tinying comment '年龄',
	identity card longtext comment '身份证',
	entry time data comment '入职时间'
) comment '员工信息表';

未执行

正确代码

create table emp(
	id int comment '编号',
	workno varchar(10) comment '工号',
	name varchar(10) comment '姓名',
	gender char(1) comment '性别',
	age tinying unsigned comment '年龄',
	idcard char(18) comment '身份证',
	entrydata comment '入职时间'
) comment '员工表';

desc emp; --查看表内容

日记:对于表的数据类型还有些不太会选择使用哪个,还需要实操,在未看到答案下自己编写代码还是会出现很多细节问题。今天文档的标题格式设置是以Day2接着的,可能看起来稍微有点不顺眼,多多包涵。

标签:comment,10,存储,01,bytes,DAY3,笔记,char,MySQL
From: https://blog.csdn.net/i0201_/article/details/142891970

相关文章

  • Windows环境下手动安装MySQL
    下载MySQL安装包:前往MySQL官网下载适合你系统的安装包,例如mysql-installer-web-community.0.8.5.msi。手动运行安装程序:双击下载的安装包,启动安装向导。按照向导的提示完成安装过程。检查安装路径:安装完成后,检查MySQL的安装路径,例如C:\ProgramFiles\MySQL\MySQL......
  • Mysql(2)—SQL语法详解(通俗易懂)
    一、关于SQL1.1简介SQL(StructuredQueryLanguage,结构化查询语言)是一种用于管理关系型数据库的标准编程语言。它主要用于数据的查询、插入、更新和删除等操作。SQL最初在1970年代由IBM的研究人员开发,旨在处理关系数据模型。MySQL支持SQL,用于对数据库进行查询、更新和管理。......
  • 网站mysql怎么连接数据库
    要在一个网站中连接MySQL数据库,通常需要遵循以下步骤:安装数据库驱动:确保你的开发环境中已经安装了适用于你所使用的编程语言的MySQL客户端库。例如,在Python中可以使用mysql-connector-python或pymysql。配置数据库连接信息:你需要知道数据库的访问信息,包括数据库服务器地址......
  • 网站连接数据库怎么写:如何使用mysql-connector-python连接到MySQL数据库
    importmysql.connectorfrommysql.connectorimportErrortry:#创建连接connection=mysql.connector.connect(host='localhost',#数据库服务器地址user='your_username',#数据库用户名password='your_passwor......
  • 免费送源码:Java+ssm+MySQL 心理治愈平台 计算机毕业设计原创定制
    摘 要随着社会的飞速发展和信息时代的到来,我们所处的社会也在发生着前所未有的变化。这主要体现在人们的生活节奏不断加快,活动范围在不断拓展,人与人的交往越来越多,处理微妙复杂的人际关系为每个人所不可避免,各种各样的竞争强度也越来越巨大,人与人之间的收入、社会地位等......
  • 高性能计算学习笔记-优化(2)
    一、Loop循环优化有以下几种循环合并:两个循环合并到一个循环中循环展开:循环内的并行技术循环交换:改变多维数组的空间访问顺序,改善空间局部性,提高cache命中率循环分布:将一个循环拆分为多个循环,使编译器可以进行向量化优化循环不变:循环中不发生变化的量提到循环外面,避免重......
  • MySQL 日志系统
    MySQL日志系统:一条SQL更新语句是如何执行的WAL:先写日志,再写磁盘(顺序写代替随机写,提高性能)两阶段提交:保证redolog和binlog一致性MySQL三种日志SQL更新语句和SQL查询语句一样要经过各功能模块的处理,区别是更新语句设计写日志(binlog、redolog、undolog)。binlog记录......
  • stm32单片机个人学习笔记10(TIM编码器接口)
    前言本篇文章属于stm32单片机(以下简称单片机)的学习笔记,来源于B站教学视频。下面是这位up主的视频链接。本文为个人学习笔记,只能做参考,细节方面建议观看视频,肯定受益匪浅。STM32入门教程-2023版细致讲解中文字幕_哔哩哔哩_bilibili一、编码器接口简介二、正交编码器 ......
  • MySQL 基础架构
    MySQL基础架构:一条SQL查询语句如何执行连接器(管理连接、权限验证)查询缓存(5.7不推荐使用,8.0完全废弃)解析器(解析树)优化器(索引选择、表关联顺序、执行计划)执行器(调用存储引擎接口)执行引擎(InnoDB、MyISAM、Memory)MySQL分成Server层和存储引擎层两部分。连接器mysql-h<ip......
  • DAY31 ||贪心算法基础 | 455.分发饼干 |376.摆动序列 |53.最大子数组和
    贪心算法基础贪心算法是一种在求解问题时采取逐步构建解决方案的算法策略。它通过在每一步选择在当前看来最优的选择(即“贪心”选择),希望通过局部最优解的累积得到全局最优解。贪心算法的核心思想局部最优:每一步都选择在当前状态下最优的选择,不考虑后续步骤可能带来的影响。......