MySQL数据库基础

73 阅读3分钟

一、数据库的操作

1.1 显示当前数据库

 SHOW DATABASES;

1.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,建议大家都使用utf8mb4

1.3 使用数据库

 use 数据库名;

1.4 删除数据库

 DROP DATABASE [IF EXISTS] db_name;

说明:

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

二、常用数据类型

2.1 数值类型

分为整型和浮点型 :

image.png

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

1字节(bytes)= 8bit。

对于整型类型的范围:

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

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

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

三、表操作

在进行操行数据库中的表的时候,需要先使用该数据库

use db_test;

3.1 查看表结构

desc 表名;

示例:

image.png

3.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
);

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;

四、重点总结

  • 操作数据库
-- 显示
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 表名;