mysql创建数据库和表

在这里插## 标题入图片描述

大家好,我是程序员小羊!

前言:

一、MySQL数据库和表的基础概念

在深入讲解如何在MySQL中创建数据库和表之前,先了解一些基础概念。

1.1 数据库和表的概念
  • 数据库(Database):数据库是数据存储的容器,存储着相关数据集合。每个数据库可以包含多个表,并为这些表提供结构和组织。

  • 表(Table):表是数据库中的基本存储单位。它由行和列组成,每行表示一条记录,每列表示记录的某个属性。

1.2 关系型数据库的特点

MySQL是一种关系型数据库管理系统(RDBMS),其数据存储在表中,表与表之间可以通过外键关系建立联系。以下是关系型数据库的一些主要特点:

  • 结构化:数据以表格的形式存储,行表示记录,列表示属性。
  • 数据一致性:通过约束条件(如主键、外键)保证数据的完整性和一致性。
  • 数据独立性:逻辑结构与物理存储是分离的,可以通过不同的视图展现数据而不改变底层存储。

二、MySQL创建数据库

创建数据库是使用MySQL的第一步。以下将详细说明创建数据库的多种方式、选项和注意事项。

2.1 创建数据库的基本语法
CREATE DATABASE [IF NOT EXISTS] 数据库名
[DEFAULT CHARACTER SET 字符集]
[DEFAULT COLLATE 排序规则];
  • IF NOT EXISTS:可选项,表示如果数据库不存在则创建,存在则忽略创建。
  • DEFAULT CHARACTER SET:设置数据库的默认字符集,如utf8mb4
  • DEFAULT COLLATE:设置字符集的默认排序规则,如utf8mb4_general_ci
2.2 创建数据库的进阶选项
2.2.1 字符集和排序规则
  • 字符集(Character Set):字符集决定了数据库能存储的字符种类。常用的字符集有utf8(最多支持3个字节)和utf8mb4(最多支持4个字节,支持表情符号等更多字符)。

  • 排序规则(Collation):排序规则决定了字符集的比较和排序方式。utf8mb4_general_ci是一种不区分大小写的排序规则,而utf8mb4_bin则区分大小写。

示例

CREATE DATABASE my_database
DEFAULT CHARACTER SET utf8mb4
DEFAULT COLLATE utf8mb4_general_ci;
2.2.2 数据库选项的持久化

MySQL中的数据库选项一旦设置,便会被持久化在数据库元数据中。创建数据库时的字符集和排序规则是数据库级别的配置,影响其所有表和列的默认字符集和排序规则。

2.3 数据库的管理

创建数据库后,您可以使用多种命令进行管理,如查看已有数据库、修改数据库选项、删除数据库等。

2.3.1 查看数据库
SHOW DATABASES;

该命令列出当前MySQL实例中的所有数据库。

2.3.2 查看数据库的字符集和排序规则
SHOW CREATE DATABASE my_database;

该命令显示数据库的创建语句,包括字符集和排序规则。

2.3.3 修改数据库的字符集和排序规则
ALTER DATABASE my_database
CHARACTER SET = utf8mb4
COLLATE = utf8mb4_general_ci;

该命令允许您在数据库创建后修改其字符集和排序规则。

2.3.4 删除数据库
DROP DATABASE [IF EXISTS] my_database;

此命令会删除指定数据库及其所有表和数据。IF EXISTS选项防止因数据库不存在而报错。

三、MySQL创建表

在数据库中创建表是更为精细化的数据管理步骤。创建表时,您需要定义表的结构,包括列的名称、数据类型、约束条件等。

3.1 创建表的基本语法
CREATE TABLE 表名 (列名 数据类型 [约束条件],...
) [表选项];
  • 列名:列表示表中数据的某一属性,如用户名、邮箱等。
  • 数据类型:定义列的数据存储类型,如INTVARCHARDATE等。
  • 约束条件:定义列的限制条件,如NOT NULLUNIQUEPRIMARY KEY等。
  • 表选项:包括存储引擎、字符集、注释等配置。
3.2 常见的数据类型

MySQL提供了多种数据类型,适用于不同类型的数据存储需求。

3.2.1 数值类型
  • 整数类型

    • TINYINT:1字节,范围-128到127或0到255(无符号)。
    • SMALLINT:2字节,范围-32,768到32,767或0到65,535(无符号)。
    • MEDIUMINT:3字节,范围-8,388,608到8,388,607或0到16,777,215(无符号)。
    • INTINTEGER:4字节,范围-2,147,483,648到2,147,483,647或0到4,294,967,295(无符号)。
    • BIGINT:8字节,范围-9,223,372,036,854,775,808到9,223,372,036,854,775,807或0到18,446,744,073,709,551,615(无符号)。
  • 浮点类型

    • FLOAT:4字节,单精度浮点数。
    • DOUBLE:8字节,双精度浮点数。
    • DECIMAL:定点数,用于高精度的计算,如货币计算。
3.2.2 字符串类型
  • CHAR(n):固定长度的字符串,长度为n
  • VARCHAR(n):可变长度的字符串,最大长度为n
  • TEXT:长文本数据类型,适合存储大量字符数据。
3.2.3 日期和时间类型
  • DATE:仅存储日期,格式为YYYY-MM-DD
  • TIME:仅存储时间,格式为HH:MM:SS
  • DATETIME:存储日期和时间,格式为YYYY-MM-DD HH:MM:SS
  • TIMESTAMP:存储时间戳,通常用于记录数据创建或更新的时间。
3.2.4 JSON类型
  • JSON:存储JSON格式数据,允许存储结构化数据,适合动态或多样化数据场景。
3.3 常见的约束条件
3.3.1 主键(PRIMARY KEY)

主键是表中唯一标识每一行的列或组合列,不能有重复值,且不能为空。

CREATE TABLE users (id INT PRIMARY KEY,username VARCHAR(50)
);
3.3.2 外键(FOREIGN KEY)

外键用于建立表之间的关系,确保引用的列在父表中存在。

CREATE TABLE orders (order_id INT PRIMARY KEY,user_id INT,FOREIGN KEY (user_id) REFERENCES users(id)
);
3.3.3 唯一约束(UNIQUE)

唯一约束确保列中的值是唯一的。

CREATE TABLE users (id INT PRIMARY KEY,email VARCHAR(100) UNIQUE
);
3.3.4 非空约束(NOT NULL)

非空约束确保列中的值不能为空。

CREATE TABLE users (id INT PRIMARY KEY,username VARCHAR(50) NOT NULL
);
3.3.5 默认值(DEFAULT)

默认值为列提供默认值,如果插入时未指定该列的值,则使用默认值。

CREATE TABLE users (id INT PRIMARY KEY,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

结尾

今天这篇文章就到这里了,大厦之成,非一木之材也;大海之阔,非一流之归也。感谢大家观看本文

在这里插入图片描述

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

4-6 使用bios 中断 显示字符

1 显示的逻辑 bios 首先通过中断,访问到 最前面的中断向量表,然后 通过中断向量表然后 访问到具体的 bios 的函数,这些函数是bios 自带的,具体的位置 , 我也不知道。只知道有这个函数。 3 显示的原理 ; 主要…

Unity中保存数据的方法

一、概述 Unity中可用于持久化的方式有: 1)通过ScriptableObject在可编辑模式下保存数据 2)通过excel、json等文件实现数据的可持久化 二、ScriptableObject的使用 1、使用背景 假如需要制作子弹预设体,每个子弹上有speed速…

【国考】特值法

特值法 题干中存在乘除关系,且对应量未知。 例3:甲、乙、丙三个工程队的效率比为6:5:4,现将A、B两项工作量相同的工程交给这三个工程队,甲队负责A工程,乙队负责B工程,丙队参与A工程若干天后转而参与B工程.两项工程同时开工,耗时16…

两个月冲刺软考——求解关系模式达到了第几范式题型(例题+讲解,一看就会)

目录 1.假设一对多联系不转换为一个独立的关系模式的话,那么生成的关系模式应该是将“一”的那一方的主键加入到“多”的一方的关系模式中。 2.求解关系模式达到了第几范式题型 1.假设一对多联系不转换为一个独立的关系模式的话,那么生成的关系模式应该…

利用session.upload_progress执行文件包含

1.session.upload_progress的作用: session.upload_progress最初是PHP为上传进度条设计的一个功能,在上传文件较大的情况下,PHP将进行流式上传,并将进度信息放在Session中(包含用户可控的值),即…

excel透视图、看板案例(超详细)

一、简介 Excel透视图(Pivot Table) 功能:透视图是一种强大的数据分析工具,用于汇总、分析和展示数据。它允许用户对数据进行重新排列和分类,从而更容易发现数据中的模式和趋势。用途:可以用来生成动态报表…

GIT 下载安装使用教程

目录 一. GIT 下载 二. GIT 安装 1. 许可声明 2. 选择安装路径 3. 组件选择 4. 开始菜单文件夹 5. Git使用的默认编辑器 6. 调整新存储库中初始分支的名称 7. 调整Path环境 8. 选择SSH可执行文件 9. 选择HTTPS传输后端 10. 配置行结束转换 11. 配置用于Git Bash的终端模…

Spring之配置类解析源码解析

解析配置类 解析配置类流程图:https://www.processon.com/view/link/5f9512d5e401fd06fda0b2dd 解析配置类思维脑图:https://www.processon.com/view/link/614c83cae0b34d7b342f6d14 在启动Spring时,需要传入一个AppConfig.class给Appli…

企业级使用docker实现负载均衡

利用Docker容器编排完成haproxy和nginx负载均衡架构实施 利用 Docker 编排实现 HAProxy 和 Nginx 负载均衡架构的介绍: 首先,使用 Docker Compose 进行容器编排。创建一个 haproxy.yml 文件,定义 HAProxy 和 Nginx 服务。HAProxy 容器作为前…

C语言 | Leetcode C语言题解之第387题字符串中的第一个唯一字符

题目&#xff1a; 题解&#xff1a; struct hashTable {int key;int val;UT_hash_handle hh; };int firstUniqChar(char* s) {struct hashTable* position NULL;int que[26][2], left 0, right 0;int n strlen(s);for (int i 0; i < n; i) {int ikey s[i];struct has…

基于django+vue+uniapp的摄影竞赛小程序

开发语言&#xff1a;Python框架&#xff1a;djangouniappPython版本&#xff1a;python3.7.7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;PyCharm 系统展示 管理员登录 管理员主界面 教师管理 学…

CSS\JS实现页面背景气泡logo上浮效果

效果图&#xff1a; 单容器显示气泡&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Bu…

测试 UDP 端口可达性的方法

前言&#xff1a; UDP (User Datagram Protocol) 是一种无连接的传输层协议&#xff0c;它不像 TCP 那样提供确认机制来保证数据包的可靠传输。因此&#xff0c;测试 UDP 端口的可达性通常需要一些特殊的方法&#xff0c;因为传统的端口扫描工具&#xff08;如 nmap&#xff0…

linux 上传文件报错 -bash: rz:command not found

linux 上传文件报错 -bash: rz:command not found 新创建的纯净虚拟机无法上传文件安装lrzsz 新创建的纯净虚拟机无法上传文件 这个错误表明系统中没有安装 rz&#xff08;上传文件工具&#xff09;命令。 如果是在 CentOS 或 Red Hat 等基于 RPM 的系统上&#xff0c;可以使用…

10款文档管理系统,助力降本增效

比较好用的 10 款文档管理系统推荐&#xff1a;PingCode、Worktile、语雀、联想Filez企业网盘、360亿方云、DocuPhase 、M-Files 、LogicalDOC、Revver、Box。 在现代企业环境中&#xff0c;管理大量文档和数据往往让人头疼。不仅需要维护信息的更新和可访问性&#xff0c;还要…

Truncated incorrect max_connections value: ‘999999‘

MySQL 的最大连接数&#xff08;max_connections&#xff09;可以设置的上限值在不同的资料中有所不同。以下是一些关键信息&#xff1a; 默认值和默认范围&#xff1a; MySQL 的默认最大连接数通常为 100 。一些资料提到默认值为 151 。 最大允许值&#xff1a; MySQL 的最大…

第8讲 ,ISP 串口程序下载

1 硬件的连接 需要使用 串口下载软件。 flymcu 这是 正点原子的 自启动电路。 2 stm32 的串口下载的原理 stm32 下载 只能是 串口一 &#xff0c; 也就是 PA9&#xff0c; PA10 3 然后是 stm32 的启动顺序 这里使用的是 第二种的 启动模式&#xff0c; 也就是 通过 串口进行烧…

Leetcode3244. 新增道路查询后的最短距离 II

Every day a Leetcode 题目来源&#xff1a;3244. 新增道路查询后的最短距离 II 解法1&#xff1a;贪心 由于题目保证添加的边&#xff08;捷径&#xff09;不会交叉&#xff0c;从贪心的角度看&#xff0c;遇到捷径就走捷径是最优的。所有被跳过的城市都不可能再出现在最短…

洛科威岩棉板重塑屋面应用,以多重优势成为“优选材料”

屋面作为建筑物的“外衣”&#xff0c;不仅承载着遮风挡雨的基本功能&#xff0c;更在保温隔热、防火安全、防潮隔音等方面发挥着举足轻重的作用。然而&#xff0c;面对极端气候、自然灾害以及日益严苛的环保标准&#xff0c;传统屋面材料逐渐暴露出其局限性&#xff0c;保温效…

日系编曲:了解日系音乐 日系和声特征 设计日系和声 和弦进行摘抄

了解日系音乐 日系音乐风格多样&#xff0c;涵盖流行、摇滚、民谣、古典等多种类型。以下是部分知名的日系音乐作品、歌手及乐队&#xff1a; 作品 《First Love》是宇多田光的代表作之一&#xff0c;旋律悠扬&#xff0c;情感真挚&#xff0c;展现了初恋的美好与青涩&#xf…