MySQL数据库基础知识(数据库/表的基础操作 + 基本类型)

news2024/12/25 9:34:11

文章目录

  • 数据库的操作
    • 显示当前数据库服务器上有哪些数据库
    • 创建数据库
    • 使用数据库
    • 删除数据库
  • 常用数据类型
    • 数值类型
    • 字符串类型
    • 日期类型
    • 小结(主要使用)
  • 表的操作
    • 创建表
    • 查看表结构
    • 列出当前数据库的表
    • 删除表
  • 注释
  • MySQL创建的数据库/表存储在系统的位置

数据库的操作

  • 输入的单词之间要带有空格,多个空格也可以,至少有一个
  • 语句后面加上英文分号
  • 关键字和函数名大小写不区分
  • 本文中 [ ] 里面的内容不是必要的,可写可不写

显示当前数据库服务器上有哪些数据库

SHOW DATABASES;

在这里插入图片描述

这四个是MySQL自带的数据库(系统库),不要乱改
0.01sec表示花的时间在10ms到20ms之间

创建数据库

CREATE DATABASE 数据库名;

库名要求不能和SQL中的"关键字"重复
如果实在想使用"关键字"作为数据库名,可以用反引号 `` 把"关键字"引起来使用

  • GBK: 使用2个字节表示一个汉字
  • UTF8:变长编码,对于汉字来说一般是3个字节,还能表示世界上其他语言

GBK和UTF8都是兼容ASCll的

在创建数据库时,还可以指定字符集

CREATE DATABASE 数据库名 CHARSET 字符集名;

MySQL 5.7默认字符集是拉丁文,不支持中文,所以建议使用UTF8作为字符集,MySQL8默认就是UTF8了

一个Charset可以有多个Character Set,而一个Character Set只能属于一个Charset。

举例:

如果系统没有 db_test2 的数据库,则创建一个名叫 db_test2 的数据库,如果有则不创建

CREATE DATABASE IF NOT EXISTS db_test2;

如果系统没有 db_test 的数据库,则创建一个使用utf8mb4字符集的 db_test 数据库,如果有则不创建

CREATE DATABASE IF NOT EXISTS db_test CHARACTER SET utf8mb4;

说明:MySQL的utf8编码不是真正的utf8,没有包含某些复杂的中文字符和表情。MySQL真正的utf8是utf8mb4,建议大家都使用utf8mb4

创建数据库时还可以指定"校验规则"(可以认为是字符串比较时对应的规则),一般不用修改,使用默认即可

使用数据库

use 数据库名;

删除数据库

DROP DATABASE [IF EXISTS] 数据库名;

说明:数据库删除以后,里边的表和数据全部被删除

常用数据类型

数值类型

分为整型和浮点型:

数据类型大小说明对应java类型
BIT[ (M) ]M指定位数,默认为1二进制数,M范围从1到64,存储数值范围从0到 2 M − 1 2^{M-1} 2M1常用Boolean对应BIT,此时默认是1位,即只能存0和1
TINYINT1字节Byte
SMALLINT2字节Short
INT4字节Integer
BIGINT8字节Long
FLOAT(M, D)4字节单精度,M指定长度,D指定小数位数。会发生精度丢失Float
DOUBLE(M, D)8字节Double
DECIMAL(M, D)M与D相比的较大值+2双精度,M指定长度,D指定小数位数。精确数值BigDecimal
NUMERIC(M,D)M与D相比的较大值+2和DECIMAL一样BigDecimal

扩展资料

数值类型可以指定为无符号(unsigned),表示不取负数。

对于整型类型的范围:

  • 有符号范围: − 2 (类型字节数 ∗ 8 − 1 ) -2^{(类型字节数*8-1)} 2(类型字节数81 2 (类型字节数 ∗ 8 − 1 ) 2^{(类型字节数*8-1)} 2(类型字节数81-1,如int是4字节,就是 − 2 31 -2^{31} 231 2 31 − 1 2^{31}-1 2311
  • 无符号范围:0到 2 (类型字节数 ∗ 8 ) 2^{(类型字节数*8)} 2(类型字节数8-1,如int就是0到 2 32 − 1 2^{32}-1 2321
  • 尽量不使用unsigned,对于int类型可能存放不下的数据,int unsigned同样可能存放不下,与其如此,还不如设计时,将int类型提升为bigint类型。

相比于float / double 来说, decimal 与numeric 存储需要消耗更多的空间,计算也需要更多的时间,但是更加精确

字符串类型

数据类型大小说明对应java类型
VARCHAR (SIZE)0-65,535字节可变长度字符串String
TEXT0-65,535字节长文本数据String
MEDIUMTEXT0-16 777 215字节中等长度文本数据String
BLOB0-65,535字节二进制形式的长文本数据byte[]
  • VARCHAR的参数SIZE表示能存储的最大字符数,假设传入SIZE为256,VARCHAR 的大小不是固定的256个字符,可能比256少,但不会超过256
  • TEXT的长度是靠"自适应"的,比较依赖自动扩容,实际开发中为了明确数据存储上限慎重使用TEXT,更多使用VARCHAR
  • 要想存储更长的文本,可以考虑使用MEDIUMTEXT,但要慎重,因为效率可能比较低
  • BLOB存储二进制数据(图片、音频、视频、可执行程序、.class文件…),而前三个类型是存储文本数据

日期类型

数据类型大小说明对应java类型
DATETIME8字节范围从1000到9999年,不会进行时区的检索及转换。java.util.Date、java.sql.Timestamp
TIMESTAMP4字节范围从1970到2038年,自动检索当前时区并进行转换。java.util.Date、java.sql.Timestamp

TIMESTAMP是时间戳的意思,而这个类型只到2038年,快不能用了,所以推荐DATETIME

小结(主要使用)

表示整型:int
表示小数:double
表示字符串:varchar
表示时间日期:datetime

表的操作

需要操作数据库中的表时,需要先使用该数据库:

use 数据库名;

创建表

  • 设定表名/列名时, 也不能和SQL关键字重复,如果确实需要重复,可以使用反引号 ``引起来
  • 同一个数据库中,表名不能重复
CREATE TABLE 表名(列名 类型,列名 类型, 列名 类型, ......);

查看表结构

desc 表名;

在这里插入图片描述

在这里插入图片描述

  • int(11)的(11)表示:在控制台显示这一列数值最多占11个字符(位宽)
  • 列也可以叫做字段(Field)
  • 数据库中的NULL / null表示的是这个单元格没填

列出当前数据库的表

show tables;

删除表

不仅删除表本身,也删除了表里面的数据

DROP TABLE 表名;

示例:如果存在 stu_test 表,则删除 stu_test 表

drop table if exists stu_test;

注释

在这里插入图片描述
这个注释只能在创建表的时候声明列
更推荐使用# 或者-- 作为注释

  • 注释不会存储到数据库中
  • 起到的作用是解释说明

MySQL创建的数据库/表存储在系统的位置

我们可以在系统中找到数据库产生的对应目录和文件(不同电脑实际存储的位置可能不一样)

方法

开始菜单找到MySQL客户端的快捷方式 - 更多 - 打开文件位置
在这里插入图片描述
打开属性
在这里插入图片描述
属性里的目标就是双击快捷方式本质运行什么程序

"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysql.exe" "--defaults-file=C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" "-uroot" "-p"

在这里插入图片描述

"--defaults-file=C:\ProgramData\MySQL\MySQL Server 5.7\my.ini"

my.ini是 MySQL的配置文件,我们要找到它

Windows下是my.ini
Linux下是my.cnf

给程序猿使用的专业软件,不会像游戏设置界面那样的图形化界面进行编辑"配置项",而是直接用一个文件的方式进行呈现,这样的文件就是配置文件

C盘的ProgramData是隐藏目录,默认状态看不到
把查看 - 显示 - 隐藏的项目 勾选上就能看到
在这里插入图片描述
顺着路径找到my.ini,双击可能打不开,可以先打开记事本,把my.ini拖到里面就能打开了

里面有这样的配置项描述的就是数据库存储的数据是在哪里
在这里插入图片描述

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

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

相关文章

算法入门——二分查找

目录 1、二分模板 2、习题 1.704.二分查找 2.35.搜索插入位置 3.744. 寻找比目标字母大的最小字母 4.69. x 的平方根 5.1351. 统计有序矩阵中的负数 6.74. 搜索二维矩阵 7.34. 在排序数组中查找元素的第一个和最后一个位置 8.33. 搜索旋转排序数组 9.153. 寻找旋转排…

政企版 WPS Pro 专业版注册安装教程

政企版 WPS Pro 专业版安装及激活步骤 第 1 步:下载压缩包(内含注册码)【无解压密码】。 第 2 步:解压缩后,运行 exe 文件,默认步骤安装即可。 第 3 步:安装完成后,新建一个 Word …

【ThinkPHP框架教程·Part-04】URL访问模式

文章目录 一、URL解析1、URL解析格式2、URL解析示例说明3、设置URL重写 二.URL 兼容模式 本章节我们来简单了解一下 ThinkPHP6.0 的 URL 访问模式,解析它的访问方法。 一、URL解析 ThinkPHP 框架非常多的操作都是通过 URL 来实现的。 1、URL解析格式 由…

利用RFID无线射频技术,实现商品防伪和溯源信息管理

近几年来,伴随着信息化产业的快速发展,企业对于产品在生产、流通、分销和零售等环节的实时跟踪和监管的需求日趋强烈。同时企业在经营过程中不可避免地要在不同区域实行差异化的经销商拿货价格,从而导致窜货现象时有发 生,为企业带…

二叉树链式结构的实现-二叉树的前序 中序 后序 层序遍历

一、二叉树的结构了解 二叉树是: 空树非空:根节点,根节点的左子树、根节点的右子树组成的。 前序: 根 左子树 右子树 --》先根 中序:左子树 根 右子树 --》中根 后序:左子树 右子树 根 --》后根 层序&…

命理八字之答案之书前端uniapp效果实现

#uniapp# #答案之书# 不讲废话&#xff0c;先上截图 <div class"padding"><div class"flex align-center justify-center" style"padding-top:100px;"><div class"radarContainer"><div id"radarBox"…

C#医学实验室/检验信息管理系统(LIS系统)源码

目录 检验系统的总体目标 LIS主要包括以下功能&#xff1a; LIS是集&#xff1a;申请、采样、核收、计费、检验、审核、发布、质控、耗材控制等检验科工作为一体的信息管理系统。LIS系统不仅是自动接收检验数据&#xff0c;打印检验报告&#xff0c;系统保存检验信息的工具&a…

关于Android绘制这一遍就够了

Android绘制基础 Android平台提供了一套完整的UI框架&#xff0c;其中包括了绘制组件和绘制API。在Android中&#xff0c;绘制主要涉及到两个核心概念&#xff1a;Canvas和Paint。 Canvas Canvas是Android中的一个类&#xff0c;它代表了绘图的画布。你可以在这个画布上进行…

CAS Client使用以及执行原理

CAS Client使用以及执行原理 流程介绍 CAS Client是利用Java Web中的Filter进行实现认证功能&#xff0c;客户端对CAS Server的认证流程分为以下步骤&#xff1a; 访问CAS Client服务 由于当前session中未检测到认证信息&#xff0c;会重定向到CAS Server地址进行认证 在CA…

11.Ribbon负载均衡策略及修改

ZoneAvoidanceRule 默认使用的规则 修改规则 第一种方式&#xff1a;定义IRule的Bean,作用于全局。 SpringBootApplication MapperScan("com.xkj.org.mapper") public class OrderApplication {public static void main(String[] args) {SpringApplication.run(Ord…

设计模式——2_A 访问者(Visitor)

文章目录 定义图纸一个例子&#xff1a;如何给好奇宝宝提供他想知道的内容菜单、菜品和配方Menu(菜单) & Cuisine(菜品)Material(物料、食材) 产地、有机蔬菜和卡路里Cuisine & Material 访问者VisitorCuisine & Material 碎碎念访问者和双分派访问者和代理写在最后…

C#基础|StringBuilder字符串如何高效处理。

哈喽&#xff0c;你好&#xff0c;我是雷工。 字符串处理在C#程序开发中是使用频率比较高的&#xff0c;但常规的字符串处理方式对内存占用比较多&#xff0c;为了优化内存&#xff0c;减少不必要的内存浪费&#xff0c;引入了StringBuilder类。 下面学习下StringBuilder类的使…

插入排序动态展示3(Python可视化源代码)

修改了“开始”命令按钮&#xff0c;每次单击“开始”&#xff0c;都重新排序。 Python代码 import tkinter as tk import random import timeclass InsertionSortVisualizer:def __init__(self, root, canvas_width800, canvas_height400, num_bars10):self.root rootself.…

wasm 系列之 WebAssembly 和 emscripten 暴力上手

wasm 是什么&#xff1f; wasm 是 WebAssembly 的缩写。wasm 不是传统意义上的汇编语言&#xff0c;而是一种编译的中间字节码&#xff0c;可以在浏览器和其他 wasm runtime 上运行非 JavaScript 类型的语言&#xff0c;只要能被编译成 wasm&#xff0c;譬如 kotlin/wasm、Rus…

鸿蒙OpenHarmony【轻量系统编写“Hello World”程序】 (基于Hi3861开发板)

编写“Hello World”程序 下方将通过修改源码的方式展示如何编写简单程序&#xff0c;输出“Hello world”。请在下载的源码目录中进行下述操作。 前提条件 已参考鸿蒙开发指导文档&#xff1a;gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到…

编写函数fun,它的功能是:根据以下公式求P的值,结果由函数值带回。m与n为两个正整数且要求m>n

本文收录于专栏:算法之翼 https://blog.csdn.net/weixin_52908342/category_10943144.html 订阅后本专栏全部文章可见。 本文含有题目的题干、解题思路、解题思路、解题代码、代码解析。本文分别包含C语言、C++、Java、Python四种语言的解法完整代码和详细的解析。 题干 编写…

【JavaEE初阶系列】——网络层IP协议(地址管理和路由选择)

目录 &#x1f6a9;网络层 &#x1f388;IP协议 &#x1f469;&#x1f3fb;‍&#x1f4bb;IP协议"拆包组包"功能 &#x1f388;地址管理 &#x1f469;&#x1f3fb;‍&#x1f4bb;IP地址的分类 &#x1f469;&#x1f3fb;‍&#x1f4bb;NAT机制如何工作的…

记录:阿里云服务器网站搭建(2)

Docker安装Mysql mysql版本 查看开发环境中mysql版本 &#xff1a;select version()&#xff1b;安装时版本尽量保证一致&#xff0c;最低要求大版本要一致 docker 拉取mysql镜像 docker pull mysql:8.0.36 docker启动mysql容器 docker run -d \ # 创建并运行一个容器&…

下班族张亮的副业赚钱故事

张亮是一个普通的上班族&#xff0c;每天过着朝九晚五的生活。他渴望改变现状&#xff0c;却又觉得生活缺乏突破口。直到有一天&#xff0c;他在网络上偶然发现了水牛社这个平台&#xff0c;这为他打开了一扇新的大门。 张亮开始利用下班后的空闲时间&#xff0c;认真浏览水牛社…

IDEA下载与安装

1.下载 链接&#xff1a;百度网盘 请输入提取码 提取码&#xff1a;7v5q 2.安装