【MySQL】MySQL 数据库基础

MySQL 数据库基础

  • 一. 数据库的操作
    • 1. 显示当前的数据库
    • 2. 创建数据库
    • 3. 使用数据库
    • 4. 删除数据库
  • 二. 常用数据类型
    • 1. 数据类型
    • 2. 字符串类型
    • 3. 日期类型
  • 三. 表的操作
    • 1. 查看表结构
    • 2. 创建表
    • 4. 删除表

一. 数据库的操作

1. 显示当前的数据库

SHOW DATABASES;

MySQL 不区分大小写, 但是符号得是英文

2. 创建数据库

语法:

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, 
create_specification] ...]


create_specification:
 [DEFAULT] CHARACTER SET charset_name
 [DEFAULT] COLLATE collation_name

说明:

  • 大写的表示关键字
  • [] 是可选项
  • 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。
  • 数据库名称可以随便取,但不能是关键字, 如 `table`、`from`, 如果非得是关键字, 得用 ` 引起来,` 是键盘左上角的与 ~ 在一个键上的那个符号, 不是单引号, 也不是 顿号

3. 使用数据库

use 数据库名;

4. 删除数据库

语法:

DROP DATABASE [IF EXISTS] db_name;

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

drop database if exists db_test1;
drop database if exists db_test2;

注意:
删除数据库是非常危险的行为 !!!
“删库跑路” 中的 “删库” 指的就是 删除数据库, 一旦删除, 难以恢复,可能造成毁灭性打击,弄不好要赔偿坐牢。(可能把你的工作删没了, 也可能你老板的工作也顺带删没了)

二. 常用数据类型

1. 数据类型

分为整型和浮点型:

【MySQL】MySQL 数据库基础_第1张图片

表示钱:

  • 使用 Decimal / BigDecimal, 使用的是类似于 字符串存储, 更精确, 但是存储空间更大, 速度更慢
  • 使用 int (单位为 分)是常用手段, 效率更高

2. 字符串类型

【MySQL】MySQL 数据库基础_第2张图片

blob:
存储的是 二进制 串
比如存储一个小的图片, 存一个小的音频文件
如果要存储大的图片的话,一般把文件存储到硬盘上, 然后在数据库中存储对应的路径

3. 日期类型

【MySQL】MySQL 数据库基础_第3张图片

三. 表的操作

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

use db_test;

1. 查看表结构

desc 表名;

示例:
【MySQL】MySQL 数据库基础_第4张图片

2. 创建表

语法:

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

可以使用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
);

==注意: ==

  • 字段名称在前, 数据类型在后。
  • 列名支持下划线_, 但不支持 中划线 -
  • 数据库名字不能重复

4. 删除表

语法格式:

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;

注意: 删表和删库一样是非常危险的操作 !!!

你可能感兴趣的:(数据库,数据库,mysql)