2.MySQL数据库基础

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 2.MySQL数据库基础

文章目录

大家好,我是晓星航。今天为大家带来的是 MySQL数据库基础 相关的讲解!😀

📤1. 数据库的操作📤

🐱1.1 查看(显示)当前的数据库🐱

SHOW DATABASES; 

1)show 和 databases 之间有一个或者多个空格。

2)注意是databases,不是 database。

3)使用 英语分号 ; 结尾 。(客户端里的任何一个 sql 都需要使用 分号 来结尾)

这里就告诉我们有 5行 数据 消耗了0.00秒(second–>秒)

🐶1.2 创建数据库🐶

语法:

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,
create_specification] ...]
create_specification:
        [DEFAULT] CHARACTER SET charset_name
        [DEFAULT] COLLATE collation_name

注意:

1)是 database ,不是databases!!!

2)test1 是数据库名字。

数字,字母,下划线构成,数字不能开头 且名字不能是 sql 中的关键字(和咱们 Java 变量命名是一个道理)

3)如果就是想拿关键字作为数据库名字~~ 可以使用 反引号 来把数据库名给引起来!!! 例如database`

4)创建数据库的时候,名字不能重复

5)写 sql 的时候,sql 的关键字啥的都是大小写不敏感的。

create database

CREATE DATABASE

是一样的效果。

6)创建数据库的时候 还可以指定字符集~

 

那么这里的test1_2就是使用utf8来创建的

说明:

  • 大写的表示关键字
  • [] 是可选项
  • CHARACTER SET: 指定数据库采用的字符集
  • COLLATE: 指定数据库字符集的校验规则

示例:

  • 创建名为 db_test1 的数据库
CREATE DATABASE db_test1;

说明:当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则是:utf8_ general_ ci

  • 如果系统没有 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

🐭1.3 使用(选中)数据库🐭

use 数据库名;

🐹1.4 删除数据库🐹

语法:

DROP DATABASE [IF EXISTS] db_name;

说明:

  • 数据库删除以后,内部看不到对应的数据库,里边的表和数据全部被删除
drop database if exists db_test1;
drop database if exists db_test2;

此时也可以省略if exists

drop database db_test1;
drop database db_test2;

✉️2. 常用数据类型✉️

🐰2.1 数值类型:🐰

分为整型和浮点型:

扩展资料

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

1字节(bytes)= 8bit。

对于整型类型的范围:

1.有符号范围:-2(类型字节数*8-1)到2(类型字节数*8-1)-1,如int是4字节,就是-231到231-1

2.无符号范围:0到2(类型字节数*8)-1,如int就是232-1

尽量不使用unsigned,对于int类型可能存放不下的数据,int unsigned同样可能存放不下,与其如此,还不如设计时,将int类型提升为bigint类型。

🐺2.2 字符串类型🐺

varchar(10)这里姓名最多几个字?

答:10个字,因为varchar括号里面的单位不是字节而是字符,一个字符就对应一个汉字。

如果你写了一个varchar(1024),此时不是真的占据了 1024 个字符这么大的空间,实际上是根据你存的数据长度动态调整的。

🐸2.3 日期类型🐸

 

📨3. 表的操作📨

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

use test1;

🐨3.1 查看表结构🐨

desc 表名;

desc - > describe 的缩写。(描述一个表是啥样子的)

示例:

或者

use 数据库名;  //先选中数据库
show tables;  //来查看当前数据库下的所有数据表

查看当前数据库下的所有数据表

🐻3.2 创建表🐻

语法:

CREATE TABLE table_name (
        field1 datatype,
        field2 datatype,
        field3 datatype
);

可以使用comment增加字段说明。(注释)

但是comment只能在创建表的时候使用

更推荐使用 – 作为注释,或者 # 也行

示例:

create table stu_test (
  id int,
  name varchar(20) comment '姓名',
  password varchar(50) comment '密码',
  age int,
  sex varchar(1),
  birthday timestamp,
  amout decimal(13,2),
  resume text
);

注意:在MySQL编程使用的SQL中,我们的列的名字在前,类型在后。而C,Java等 是使用类型 变量名 = 0;

🐮3.3 删除表🐮

语法格式:

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...

示例:

-- 删除 stu_test 表
drop table stu_test;
-- 如果存在 stu_test 表,则删除 stu_test 表
drop table if exists stu_test;

📯4. 内容重点总结📯

  • 操作数据库:
-- 显示
show databases;
-- 创建
create database xxx;
-- 使用
use xxx;
-- 删除
drop database xxx;
  • 常用数据类型:

INT:整型

DECIMAL(M, D):浮点数类型

VARCHAR(SIZE):字符串类型

TIMESTAMP:日期类型

  • 操作表:
-- 查看
show 表;
-- 创建
create table 表名(
  字段1 类型1,
  字段2 类型2,
  ...
);
-- 删除
drop talbe 表名;

📪5.练习题📪

有一个商店的数据,记录客户及购物情况,有以下三个表组成:

1.商品goods(商品编号goods_id,商品名goods_name, 单价unitprice, 商品类别category, 供应商provider)

2.客户customer(客户号customer_id,姓名name,住址address,邮箱email,性别sex,身份证card_id)

3.购买purchase(购买订单号order_id,客户号customer_id,商品号goods_id,购买数量nums)

SQL:

-- 创建数据库
create database if not exists bit32mall
default character set utf8 ;
-- 选择数据库
use bit32mall;
-- 创建数据库表
-- 商品
create table if not exists goods
(
      goods_id  int comment '商品编号',
      goods_name varchar(32) comment '商品名称',
      unitprice  int comment '单价,单位分',
      category  varchar(12) comment '商品分类',
      provider  varchar(64) comment '供应商名称'
);
-- 客户
create table if not exists customer
(
       customer_id  int comment '客户编号',
       name varchar(32) comment '客户姓名',
       address  varchar(256) comment '客户地址',
       email  varchar(64) comment '电子邮箱',
       sex bit comment '性别',
       card_id varchar(18) comment '身份证'
);
-- 购买
create table if not exists purchase
(
       order_id  int comment '订单号',
       customer_id int comment '客户编号',
       goods_id  int comment '商品编号',
       nums  int comment '购买数量'
);

单独拆分讲解:

1.商品goods(商品编号goods_id,商品名goods_name, 单价unitprice, 商品类别category, 供应商provider)

2.客户customer(客户号customer_id,姓名name,住址address,邮箱email,性别sex,身份证card_id)

3.购买purchase(购买订单号order_id,客户号customer_id,商品号goods_id,购买数量nums)

 

感谢各位读者的阅读,本文章有任何错误都可以在评论区发表你们的意见,我会对文章进行改正的。如果本文章对你有帮助请动一动你们敏捷的小手点一点赞,你的每一次鼓励都是作者创作的动力哦!😘

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
算法 数据处理 C语言
这么好用的二进制转十进制教程,你不会还不知道吧?
这么好用的二进制转十进制教程,你不会还不知道吧?
|
Java 编译器 数据库
Java 中的注解(Annotations):代码中的 “元数据” 魔法
Java注解是代码中的“元数据”标签,不直接参与业务逻辑,但在编译或运行时提供重要信息。本文介绍了注解的基础语法、内置注解的应用场景,以及如何自定义注解和结合AOP技术实现方法执行日志记录,展示了注解在提升代码质量、简化开发流程和增强程序功能方面的强大作用。
415 5
|
机器学习/深度学习 人工智能 自动驾驶
深度学习中的卷积神经网络(CNN)及其应用
【10月更文挑战第21天】本文旨在深入探讨深度学习领域的核心组成部分——卷积神经网络(CNN)。通过分析CNN的基本结构、工作原理以及在图像识别、语音处理等领域的广泛应用,我们不仅能够理解其背后的技术原理,还能把握其在现实世界问题解决中的强大能力。文章将用浅显的语言和生动的例子带领读者一步步走进CNN的世界,揭示这一技术如何改变我们的生活和工作方式。
|
消息中间件 存储 分布式计算
大数据-53 Kafka 基本架构核心概念 Producer Consumer Broker Topic Partition Offset 基础概念了解
大数据-53 Kafka 基本架构核心概念 Producer Consumer Broker Topic Partition Offset 基础概念了解
324 4
|
设计模式 API Python
Python Web:Django、Flask和FastAPI框架对比
Python Web:Django、Flask和FastAPI框架对比
566 0
|
Java Linux Maven
Maven 仓库
Maven仓库管理构件(如JARs):本地仓库在首次执行时创建,默认位于`%USER_HOME%/.m2/repository/`;远程仓库包括中央仓库,存放大量开源Java构件,可在线浏览<http://search.maven.org/>。若本地缺失构件,Maven会从远程下载至本地。可通过settings.xml配置本地仓库路径。
|
数据可视化 测试技术 API
软件测试中的自动化测试框架选择与实践
在当今快节奏的软件开发环境中,自动化测试成为了确保软件质量和加速交付的关键。本文将探讨自动化测试的重要性,并比较几种流行的自动化测试框架,包括Selenium、Appium和TestComplete。文章还将提供一些最佳实践和案例研究,以帮助读者更好地理解和实施自动化测试策略。
|
存储 网络协议 Cloud Native
ClickHouse Keeper 源码解析
ClickHouse 社区在21.8版本中引入了 ClickHouse Keeper。ClickHouse Keeper 是完全兼容 Zookeeper 协议的分布式协调服务。本文对开源版本 ClickHouse v21.8.10.19-lts 源码进行了解析。
ClickHouse Keeper 源码解析
|
C语言 Python
有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
588 4
|
区块链
webp2jpg网页在线图片格式转换源码
webp2jpg-免费在线图片格式转化器, 可将jpeg、jpg、png、gif、 webp、svg、ico、bmp文件转化为jpeg、png、webp、webp动画、gif文件。 无需上传文件,本地即可完成转换!
254 0

热门文章

最新文章