2.MySQL数据库基础

news2024/11/23 23:01:39

文章目录

  • 📤1. 数据库的操作📤
    • 🐱1.1 查看(显示)当前的数据库🐱
    • 🐶1.2 创建数据库🐶
    • 🐭1.3 使用(选中)数据库🐭
    • 🐹1.4 删除数据库🐹
  • ✉️2. 常用数据类型✉️
    • 🐰2.1 数值类型:🐰
    • 🐺2.2 字符串类型🐺
    • 🐸2.3 日期类型🐸
  • 📨3. 表的操作📨
    • 🐨3.1 查看表结构🐨
    • 🐻3.2 创建表🐻
    • 🐮3.3 删除表🐮
  • 📯4. 内容重点总结📯
  • 📪5.练习题📪

大家好,我是晓星航。今天为大家带来的是 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)
  1. 客户customer(客户号customer_id,姓名name,住址address,邮箱email,性别sex,身份证card_id)
  1. 购买purchase(购买订单号order_id,客户号customer_id,商品号goods_id,购买数量nums)

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

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

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

相关文章

【电能质量扰动】基于ML和DWT的电能质量扰动分类方法研究(Matlab实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

团队管理之性能实施团队日志7

从具体技术问题看流程和管理的问题 今天上午9:38在微信群里看到团队内做脚本调试的同事小w和一个开发的对话。 是说发了一个报文,结果失败了。于是就问这个项目组A的开发小a,小a一看,这不是项目组B的错吗? 这时是10&a…

java4.5 掌握Spring Boot多环境配置

一、使用Profile文件进行多环境配置 (一)创建Spring Boot项目 (二)创建多环境配置文件 1、全局配置文件改名 2、模拟开发环境 在resources里创建配置文件 - application-dev.yaml 3、模拟测试环境 在resources里创建配置文件…

chatgpt赋能python:Python中的填充(Padding)

Python中的填充(Padding) 在Python编程中,填充(Padding)是一种常用的技术。填充通常用于将字符串、列表或其他类型的数据添加到另一个数据结构中,以达到特定的格式或长度。本文将介绍如何在Python中使用填…

leetcode652. 寻找重复的子树(java)

寻找重复的子树 leetcode652. 寻找重复的子树题目描述 解题思路代码演示二叉搜索树专题 leetcode652. 寻找重复的子树 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/find-duplicate-subtrees 题目描述 给你一棵二叉树的…

关于nginx使用中的bug

一: 报错:nginx: [emerg] WSASocketW() failed (10022: An invalid argumentwas supplied) 像使用WinSCP一样进行项目部署,把自己的电脑当做服务器放前端压缩包dist,让内网-局域网内所有人可访问前端页面 首先把nginx的文件夹放…

【5种灵活有效方式】如何从死机手机中恢复内部数据?

我的手机掉在地上,现在无法开机。我丢失了所有联系人、图片和重要文件。无奈之下,我需要恢复数据。但是如何从死机中恢复内部数据呢? 我们使用移动设备的最重要原因之一是打电话和发送消息。但有时,我们使用相同的设备来保存记忆…

【剑指offer专项突破版】数组篇——‘‘C‘‘

文章目录 前言一 . 排序数组中两个数字的和题目分析思路分析法①代码——双指针法②代码——二分查找 二. 数组中和为 0 的三个数题目分析问题转换代码 三. 和大于等于 target 的最短子数组题目分析思路分析代码 四. 乘积小于 K 的子数组题目分析思路分析代码 五. 和为 k 的子数…

如何用知识星球年入50万

使用知识星球年入50万的话,那么你的社群收费必须超过60万,因为星球会有20%的手续费。 年入50万并不是一笔小数目,那么一定少不了优质的内容以及引流渠道,这二者缺一不可。 优质的内容和引流的渠道都需要题主自己去把控&#xff…

阿里云OpenSearch重磅推出LLM问答式搜索产品,助力企业高效构建对话式搜索服务

阿里云OpenSearch重磅推出LLM智能问答版,面向行业搜索场景,提供企业专属问答搜索服务。 智能问答版基于内置的LLM大模型提供问答能力,一站式快速搭建问答搜索系统。 目前OpenSearch LLM智能问答版已开始邀测(https://page.aliyu…

卡尔曼滤波与组合导航原理(六)信息Kalman滤波与信息融合

文章目录 一、信息滤波1、模型2、信息滤波公式改写3、IKF公式汇总4、KF与IKF的对偶关系 二、信息融合1、信息融合方法2、信息融合推导Kalman滤波 一、信息滤波 1、模型 函数模型 { X k Φ k / k − 1 X k − 1 Γ k − 1 W k − 1 Z k H k X k V k \left\{\begin{array}…

djangoo配置与运行

前言:相信看到这篇文章的小伙伴都或多或少有一些编程基础,懂得一些linux的基本命令了吧,本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python:一种编程语言&…

【UEFI】BIOS 阶段全局变量类型

BIOS的几个阶段需要不同阶段的数据传递,下面介绍4个全局变量。 1 固件存储介绍 本规范描述了应该如何在非易失性存储器中存储和访问文件。固件实现必须支持标准的PI固件卷和固件文件系统格式(下文所述),但可能支持其他存储格式。…

【网页布局形式----浮动】

网页布局形式----浮动 css浮动:一、常见的三种网页布局形式:1.1 网页布局两大准则: 二 、浮动:2.1 浮动语法:2.2 浮动特性(重难点):浮动元素通常与标准流的父级元素搭配使用&#xf…

Linux进程虚拟地址空间

文章目录 1. 进程地址空间1.1 存在1.2 初步了解1.2 虚拟地址空间的划分1.3 页表 2. 虚拟地址如何转化成物理地址2.1 二级页表2.2 总结 3. 写时拷贝3.1 原理3.2 解释为什么 pid_t ret fork() 中,ret 会有两个不同的值 4. 为何需要虚拟地址空间 1. 进程地址空间 1.1…

基于python的企业资产管理系统vue+django+flask

开发语言:Python 框架:django/flask Python版本:python3.7.7 数据库:mysql 数据库工具:Navicat 开发软件:PyCharm 文章介绍了企业资产管理系统的系统分析部分,包括可行性分析等,系…

基于SpringBoot的CRM客户管理销售团队管理系统(含源码+数据库)

1)环境准备 JDK 1.8 以上 MySql 5.7 以上 Tomcat 7.0 以上 maven 3.5.0 Idea 2)建立PowerTeam数据库 打开Mysql管理工具(推荐使用Navicat Premium) 执行db.sql脚本 可选操作执行demo_data.sql演示数据脚本 3)将项目导入Idea开发工具中 ​4)修…

UE5使用Advanced-VR-Framework开发VR介绍

插件地址:https://www.unrealengine.com/marketplace/zh-CN/product/advanced-vr-framework 一、UE5开发VR的优势: UE5在三维的表现力上非常优秀;有基于Twinmotion等三维工具支持,制作流程上比较顺畅;UE5场景素材也非…

W13电力线载波通信技术

CK_Label_W13 CK_Label_W13(外接供电版) 产品型号 CK_Label_W13 尺寸 70*34.7*13.6mm 屏幕尺寸 2.1 inch 分辨率 250*122 像素密度 130dpi 显示技术 电子墨水屏显示 显示颜色 黑/白 外观颜色 白色 按键 1 指示灯 1 RGB灯 灯光颜…

Vue.js 中的混入是什么?如何使用混入?

Vue.js 中的混入是什么?如何使用混入? 在 Vue.js 中,混入(Mixin)是一种可复用的对象,可以包含任意组件选项。通过混入,我们可以将一些相同的代码逻辑抽离出来,使组件更加简洁和可维…