MySQL数据库《基础篇--库的操作和数据类型》

一、库的操作

1.查看数据库

1.1语法:

sql 复制代码
show databases;

查看当前服务器的所有数据库
databases是复数形式
⼤⼩写不敏感

2.创建数据库

2.1语法:

sql 复制代码
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_option] ...
create_option: [DEFAULT] {
 CHARACTER SET [=] charset_name
 | COLLATE [=] collation_name
 | ENCRYPTION [=] {'Y' | 'N'}
}

注#

(1)大写的表示关键字
(2)db_name:表⽰⾃定义的数据库名
(3){}⼤插号表⽰必须选
(4)| 表⽰任选其中⼀个
(5)[]中括号表⽰是可选项
(6)CHARACTER SET:指定数据库采⽤的字符集编码
(7)COLLATE:指定数据库字符集的校验规则
(8)ENCRYPTION:数据库是否加密,MySQL 8.0.16中引⼊的新选项

2.2⽰例:创建⼀个名为java113的数据库


再次执行上次的创建库:得到


在真下在的工作中,执行SQL语句,不是手动一条一条执行的,而是批量一起执行 ,为了不让某一条语句的错误影响整个执行流程,都会加上一些类似于ifnotexists的校验,防止因为某条SQL出错导致整个SQL中断执行

3.字符集编码和校验(排序)规则

3.1查看数据库⽀持的字符集编码

MySQL8.0默认的字符集编码是utf8mb4 ,MySQL5.7默认的字符集是 latin1

3.2查看数据库⽀持的排序规则


MySQL8.0默认的排序规则是 utf8mb4_0900_ai_ci , MySQL5.7默认排序规则是utf8mb4_general_ci
建议:创建数据库的时候手动确认认定字符集

4.修改数据库

4.1语法

sql 复制代码
ALTER {DATABASE | SCHEMA} [db_name]
 alter_option ...
alter_option: {
 [DEFAULT] CHARACTER SET [=] charset_name
 | [DEFAULT] COLLATE [=] collation_name
 | [DEFAULT] ENCRYPTION [=] {'Y' | 'N'}
 | READ ONLY [=] {DEFAULT | 0 | 1}
}

对数据库的修改主要是修改数据库的字符集,校验规则

4.2示例:

将test+班级名的数据库字符集改成gbk

sql 复制代码
mysql> alter database test001 character set gbk;
Query OK, 1 row affected (0.01 sec)
mysql> show create database test001;
+----------+-------------------------------------------------------------------
-------------
| Database | Create Database 
 
+----------+-------------------------------------------------------------------
-------------
| java01 | CREATE DATABASE `test001` /*!40100 DEFAULT CHARACTER SET gbk */
/*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+-------------------------------------------------------------------
-------------
1 row in set (0.00 sec)

选择要操作的数据库
use数据库名[:]

5.删除数据库

5.1语法:

sql 复制代码
DROP {DATABASEISCHEMA} [IFEXISTS] db_name

特别注意:!!!

(1)删除数据库是⼀个非常危险操作,不要随意删除数据库
(2)删除数据库之后,数据库对应的⽬录及⽬录中的所有⽂件也会被删除
(3)删除数据库之后,使⽤show databases; 语句查看不到对应的数据库

二、数据类型

1.常⽤数据类型分类

在⾯向对象软件开发的过程中,通常会先进⾏需求分析从⽽得到类和属性,类是⾯向对象中的概
念,对应到数据库中的概念就是实体 ,类中的属性对应实体中的属性。实体通常以表的形式存在 ,每个实体对应⼀张表,表中的每条记录(数据⾏)就是实体的⼀个实例,每条记录⼜包含若⼲字段(或称为 列),每个字段代表实体的⼀个属性。
如果要定义实体的属性,就要为属性命名并指定合适的数据类型。与其他编程语⾔类似,SQL中
规定了⽤于描述属性的数据类型。常⽤的数据类型有以下⼏类:
(1)数据值类型
(2)字符串类型
(3)⼆进制类型
(4)⽇期类型

2.数据值类型

3.字符串类型

4. 日期 / 时间类型

5. JSON 类型

6. 空间类型(拓展)

关键补充说明

1.无符号属性(UNSIGNED):数值类型可加UNSIGNED关键字,取消负数范围,扩大正数范围(如INTUNSIGNED取值0~4294967295)。

2.CHARvsVARCHAR:CHAR定长,查询速度快但浪费空间;VARCHAR变长,节省空间但查询略慢。

3.TIMESTAMP与时区:TIMESTAMP会根据数据库时区自动转换,而DATETIME仅存储字面量,不转换时区。

  1. DECIMAL精度:存储金额时优先用DECIMAL,避免FLOAT/DOUBLE的精度丢失问题(如.1+0.2

日.3)

总结

  1. MySQL数据类型按功能分为数值、字符串、日期时间、JSON、空间五大类,选择时需结合数据用途和范围。

2.数值类型优先选匹配范围的最小类型(如状态值用TINYINT),字符串优先用VARCHAR(固定长度用CHAR),高精度小数用DECIMAL。

3.日期时间类型中,跨时区场景用TIMESTAMP,常规场景用DATETIME,仅存年份用YEAR。

相关推荐
Web极客码2 小时前
解决WordPress迁移后重定向到旧域名的问题
数据库·wordpress·网站迁移
yueyin1234562 小时前
Linux下MySQL的简单使用
linux·mysql·adb
Web打印4 小时前
Phpask(php集成环境)之15 phpstudy转移到phpask
数据库·mysql
LaughingZhu10 小时前
Product Hunt 每日热榜 | 2026-02-14
数据库·人工智能·经验分享·神经网络·搜索引擎·chatgpt
软件派10 小时前
近两年国外主流数据库深度解析:从技术特性到场景适配
数据库
Elastic 中国社区官方博客10 小时前
DevRel 通讯 — 2026 年 2 月
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·jina
学到头秃的suhian12 小时前
Redis消息队列
数据库·redis·缓存
野犬寒鸦12 小时前
从零起步学习并发编程 || 第九章:Future 类详解及CompletableFuture 类在项目实战中的应用
java·开发语言·jvm·数据库·后端·学习
爆米花byh12 小时前
在RockyLinux9环境的Doris单机版安装
linux·数据库·database