MySQL 数据库基础

MySQL 数据库基础

这将是一个全新的开始!!

1. 数据库的操作

1.1 显示当前所有的数据库

SHOW DATABASES; 

在这里插入图片描述

1.2 创建数据库

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

说明:

  • 大写的表示关键字
  • [] 内的内容可以自行选择
  • CHARACTER_SET: 指定数据库采用的字符集

示例:

  • 创建名为blog_test的数据库

    CREATE DATABASE blog_test;
    

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

  • 如果系统没有blog_test 的数据库,则创建一个名叫blog_test的数据库,如果有则不创建

    CREATE DATABASE IF NOT EXISTS blog_test;
    
  • 如果系统没有db_test的数据库,则创建一个使用utf8mb4字符集的db_test数据库,如果有则不创建

    CREATE DATABASE IF NOT EXISTS db_test CHARSET SET utf8mb4;
    

说明:MySQL的utf8编码不是真正的utf8,没有包含某些复杂的中文字符。MySQL真正的utf8是使用utf8mb4(推荐使用)

在这里插入图片描述

创建后可以调用show databases;查看:

在这里插入图片描述

1.3 使用数据库

use 数据库名

在这里插入图片描述

1.4 删除数据库

DROP DATABASE [IF EXISTS] db_name;

在这里插入图片描述

注:

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

    drop database if exists blog_test;
    

    在这里插入图片描述

2. 常用数据类型

2.1 数据类型

分为整型和浮点型:

数据类型大小说明对应java类型
BIT[ (M)]M指定位 数,默认 为1二进制数,M范围从1到64, 存储数值范围从0到2^M-1常用Boolean对应BIT,此时 默认是1位,即只能存0和1
TINYINT1字节Byte
SMALLINT2字节Short
INT4字节Integer
BIGINT8字节Long
FLOAT(M, D)4字节单精度,M指定长度,D指定 小数位数。会发生精度丢失Float
DOUBLE(M, D)8字节Double
DECIMAL(M, D)M/D最大 值+2双精度,M指定长度,D表示 小数点位数。精确数值BigDecimal
NUMERIC(M, D)M/D最大 值+2和DECIMAL一样BigDecimal

2.2 字符串类型

数据类型大小说明对应java类型
VARCHAR (SIZE)0-65,535字节可变长度字符串String
TEXT0-65,535字节长文本数据String
MEDIUMTEXT0-16 777 215字节中等长度文本数据String
BLOB0-65,535字节二进制形式的长文本数据byte[]

2.3 日期类型

数据类型大 小说明对应java类型
DATETIME8 字 节范围从1000到9999年,不会进行时区的 检索及转换。java.util.Date、 java.sql.Timestamp
TIMESTAMP4 字 节范围从1970到2038年,自动检索当前时 区并进行转换。java.util.Date、 java.sql.Timestamp

3. 表的操作

3.1 表的使用

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

use blog_test;

在这里插入图片描述

出现Database changed 即使用成功

3.2 查看表的结构

desc 表名;

在这里插入图片描述

若该数据库中表不存在却强行调用的话会报错:

在这里插入图片描述

3.3 创建表

CREATE TABLE table_name (
	field1 datatype;
	field1 datatype;
	field1 datatype;
);

在这里插入图片描述

在这里插入图片描述

可以使用comment增加字段说明:

 create table stu_test (
     id int,
     name varchar(20) comment '姓名',
     password varchar(50) comment '密码'
 );

在这里插入图片描述

3.4 删除表

DROP [TEMPORARY] TABLE [IF EXISTS] table_name;

在这里插入图片描述

4. 实例测试

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

  • 商品goods(商品编号goods_id, 商品名goods_name, 单价unitprice, 商品类别category, 供应商provider)
  • 商品customer(客户号customer_id, 姓名name, 住址address, 邮箱email, 性别gender, 身份证 card_id)
  • 购买purchase(购买订单号order_id, 客户号customer_id, 商品号goods_id, 购买数量nums)

SQL代码:

-- 创建数据库
 create database if not exists blog_test2 character set utf8mb4;
-- 使用数据库
 use blog_test2;
 
-- 商品表
 create table if not exists goods(
     goods_id int,
     goods_name varchar(5),
     unitprice int,
     category varchar(10),
     prpvider varchar(10));
Query OK, 0 rows affected (0.01 sec)

-- 客户表
 create table if not exists customer(
     customer_id int,
     customer_name varchar(10),
     address varchar(20),
     email varchar(20),
     gender varchar(3),
     card_id varchar(19));
-- 购买表
 create table purchase(
     order_id int,
     customer_id varchar(20),
     goods_id varchar(10),
     nums int);
  • 创建和使用数据库

    在这里插入图片描述

  • 商品表

    在这里插入图片描述

  • 客户表

    在这里插入图片描述

  • 购买表

    在这里插入图片描述

  • 表创建成功

在这里插入图片描述
题外话在创作这篇文章时,我的生日也悄然而至,特在此文章结尾纪念一下,希望在未来的日子里能够收获更多的进步成长!!就同我在文章开头所说那般: 这将是一个全新的开始( •̀ ω •́ )✧( •̀ ω •́ )✧

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值