MySQL数据库基础

ops/2024/9/24 7:22:35/

目录

1. 数据库的操作

1.1 显示当前的数据库

 1.2 创建数据库

 1.3 使用/选中 数据库

1.4 删除数据库

 2. 常用数据类型

2.1 数值类型

2.2 字符串类型

 2.3 日期类型

 3. 表的操作

​编辑 3.1 查看所有表

3.2 创建表

3.3 查看表结构

3.4 删除表

 练习:


1. 数据库的操作

1.1 显示当前的数据库

SHOW DATABASES;
注意: MySQL是用命令行操作, 所以基本的格式 规则要掌握:
  • 输入单词之间, 要带有空格, 多个空格是可以的, 但至少有一个空格
  • 语句结束要带上分号 必须是英文分号!
  • 输入完毕后, 按回车表示执行这个命令
  • 拼写要正确!!!

结果:

  • 上面的4个Database是MySQL自带的数据库, 叫"系统库"
  • 5 rows in set(0.02 sec)  set集合 sec秒
  • 如果我们拼写错误, 就会出现错误信息, 一般在错误信息后面, 会有提示, 仔细阅读即可

 1.2 创建数据库

(1)最简单的方式

create database 数据库名;

注意: 

  • SQL是大小写不敏感的, 学成大写也可以
  • 数据库名不能和SQL中的关键字重复
  • 如果实在是想用关键字作为数据库名, 可以使用反引号`, 把这个名字引起来(反引号在键盘Esc键的下面, 英文模式)

结果:

创建成功!

(2)可以指定字符集

create database 数据库名 charset 字符集名;

什么是字符集?  通俗来讲, 就是将所有非数字的字符, 转化成十六进制数据, 能够存到计算机中

例如:

  • GBK  兼容ASCII, 可以表示英文, 还可以表示中文, 使用两个字节表示一个汉字
  • UTF8 可以表示世界上任意语言文字, 一个汉字一般占三个字节,  后续创建数据库, 建议大家使用UTF8 作为字符集
  • 但是MySQL的UTF8 其实不是完整的, 比标准的UTF8 少了一些东西(主要是少了emoji表情) , 为了解决这个问题, MySQL提供了 UTF8mb4 这样的字符集(MySQL独有, 就是完整的UTF8)

(3) 指定校验规则

 create database 数据库名 collate 校验规则名;

一般不需要修改, 使用默认的即可

 1.3 使用/选中 数据库

use 数据库 ;

 后续的进一步操作, 都需要选中数据库, 然后再操作

1.4 删除数据库

drop database 数据库名;
说明 :
  • 数据库删除以后,内部看不到对应的数据库,里边的表和数据全部被删除

结果:

 2. 常用数据类型

2.1 数值类型

分为整型和浮点型:

注意: 

  • float 和 double 和java类似, 在进行运算时, 可能会导致精度丢失
  • decimal 不会引起精度丢失, 但相对float 和 double来说, 存储需要更对的空间, 计算也需要更多的时间

2.2 字符串类型

注意:

  • varchar 可变长字符串类型, ()中表示能存储的最大长度  单位是字符, 与C不同, C的char类型单位是字节, 例如, 一个汉字表示一个字符, 但是可以是若干字节
  •  text 长度自适应, 自动扩容, (但在工程中不怎么使用, 因为不明确数据存储的上限)
  • blob 存储"二进制"数据, 在对应码表中是无法查到的, 而上述三个是文本数据(字符串)

 2.3 日期类型

注意:

  • 现在不推荐用timestamp, 因为快"过期"了 

 小结:

重点掌握: int  double varchar datetime  其他简单了解即可

 3. 表的操作

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

use 数据库名;

否则会报错:

 3.1 查看所有表

show tables;

注意:此命令只能看到当前数据库的表, 想要看其他的要切换到其他的数据库 

3.2 创建表

 语法:

create table 表名(列名 类型, 列名 类型 ...);

注意:

  • 列名在前, 类型在后 
  • 设置表名和列名时, 不能和SQL中的关键字重复
  • 如果实在是想用关键字作为数据库名, 可以使用反引号`, 把这个名字引起来(反引号在键盘Esc键的下面, 英文模式)
  • 同一个数据库中, 表名不能重复(不同数据库可以重复)

创建一个student表 

3.3 查看表结构

desc 表名;

注意: 这里的desc是describe描述的意思  后面我们还会遇到desc 是descend 降序的意思 

 查看student表:

  • Field  表示字段/列  (一下术语都表示列: 成员变量(member variable)  属性(property)  字段(field)) 
  • Type 字段类型  int(11) 中的(11) 表示 在控制台中显示这一列的数据的时候, 最多占11个字符
  • Null 表示这个列是否能取空值
  • Key 
  • Default 列的默认值
  • Extra 其他信息

3.4 删除表

语法:

drop table 表名;

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

 练习:

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

分析:

在表示单价时, 我们肯定是要精确度更高, 但我们使用decimal, 虽然可以精确表示, 但是存储空间大, 计算小号的时间更多, 更好的办法:用int 但是单位是分!

SQL:

 


http://www.ppmy.cn/ops/13286.html

相关文章

unity学习(87)——断线的原因--客户端堆栈溢出1

无论unity还是exe问题都是一样的,都是客户端一直在发123,但收不到124,退出时服务器能发126,但是客户端压根接受不到126。一下确实解决不了问题,但其实已经十分接近了! 客户端断线后就再也收不到任何包了&a…

微信认证后端轻松搞定,MemFire Cloud 助力应用开发

在当今移动互联网时代,微信认证已成为众多应用必不可少的身份验证方式。然而,对于开发者来说,微信认证的后端工作往往是一项繁琐且耗时的任务。MemFire Cloud提供了一套即用型解决方案,开发者可以轻松解决微信认证的后端难题&…

【电控笔记5.8】数字滤波器设计流程频域特性

数字滤波器设计流程&频域特性 2HZ : w=2pi2=12.56 wc=2*pi*5; Ts=0.001; tf_lpf =

SQL--DDL数据定义语言(Oracle)

文章目录 数据定义语言创建表删除表清空表修改表修改表名,列名修改字段属性添加字段删除字段 数据定义语言 是针对数据库对象操作的语言 数据库对象:表,约束,视图,索引,序列… CREATE ---创建数据库对…

【MCU】栈溢出问题

项目场景: 硬件:STM32F407,操作系统:rt_thread master分支 问题描述 问题栈溢出 id 499 ide 00 rtr 00 len 8 9 Function[rt_completion_wait] shall not be used in ISR (0) assertion failed at function:rt_completion_wait,…

Es批量删除DeleteByQueryRequestBuilder

一、DeleteByQueryRequestBuilder DeleteByQueryRequestBuilder是Elasticsearch Java客户端中的一个类,用于构建和执行基于查询条件删除文档的请求。实验结果表明:删除速率大概是每秒3万条左右。 DeleteByQueryRequestBuilder类提供了一种方便的方式来…

Java语言开发的AI智慧导诊系统源码springboot+redis 3D互联网智导诊系统源码

Java语言开发的AI智慧导诊系统源码springbootredis 3D互联网智导诊系统源码 智慧导诊解决盲目就诊问题,减轻分诊工作压力。降低挂错号比例,优化就诊流程,有效提高线上线下医疗机构接诊效率。可通过人体画像选择症状部位,了解对应…

【C语言】操作符

㊙️小明博客主页&#xff1a;➡️ 敲键盘的小明 ㊙️ ✅关注小明了解更多知识☝️ 文章目录 前言一、什么是操作符 &#xff1f;二、操作符的分类三、操作符详解3.1 算术操作符3.2 移位操作符3.2.1 左移操作符&#xff08;<<&#xff09;3.2.2 右移操作符&#xff08;&g…