MySQL学习(1)——MySQL数据库基础

1. 数据库的操作

1.1 显示当前数据库

语句实例

show databases;

结果演示

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| chong              |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.01 sec)

除了"chong"是本人自己学习的时候建的数据库,其余四个是自带的数据库,切记不可误删掉这四个

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. 大写的表示关键字
  2. [ ]里面的是可写可不写
  3. CHARACTER SET:指定数据库采用的字符集
  4. COLLATE:指定数据库字符集的校验规则

语句实例

  1. 创建名为chong的数据库
CREATE DATABASE chong;

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

  1. 如果系统没有study2的数据库,则创建一个名为study2的数据库,有则不创建
CREATE DATABASE IF NOT EXISTS db_test2;
  1. 如果系统没有 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 数据库名;

结果演示

mysql> use study;
Database changed

1.4 删除数据库

语法:

DROP DATABASE [IF EXISTS] db_name;

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

语句实例

 drop database if exists study;

结果演示

mysql> drop database if exists study;
Query OK, 0 rows affected (0.04 sec)

大家切记以后做删除操作的时候手下留情!再三确认之后再进行删除,不然删除掉一些关键数据库后只能准备好跑路了(滑稽)

2.常用数据类型

2.1 数值类型

分为整型和浮点型:

数据类型 大小 说明 对应java类型
bit[(m)] m指定位数,默认为1 二进制数,m范围从1到64,存储数值范围从0到2^m-1 常用Boolean类型对应bit,此时默认是一位,只能保存1和0
tinyint 1字节 Byte
smallint 2字节 Short
int 4字节 Integer
bigint 8字节 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-65535字节 可变长度字符串 String
text 0-65535字节 长文本数据 String
mediumtext 0-16777215字节 中等长度文本数据 String
blob 0-65535字节 二进制形式的长文本数据 byte[]

2.3 日期类型

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

上述两种类型看情况使用,一般情况下使用timestam较多

3.表的操作

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

use study;

3.1 查看表的结构

desc 表名

示例:
MySQL学习(1)——MySQL数据库基础_第1张图片

3.2 创建表

语法:

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

语句实例

create table student (
	id int,
	name varchar(20),
	age int,
	qq_mail varchar(20)
);

上面的语句我们可以通过comment增加字段说明

语句实例

create table student (
	id int,
	name varchar(20) comment '姓名',
	age int comment '年龄',
	qq_mail varchar(20) comment '邮箱'
);

3.3 删除表

语法格式:

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...

语句实例

-- 删除 student 表
drop table student;

-- 如果存在 student 表,则删除 student 表
drop table if exists student;

注意: 我们现在已经知道了表的创建和删除语法了,那么今后在创建表的时候我们就可以这样写了

语句实例

drop table if exists student;
create table student (
	id int,
	name varchar(20),
	age int,
	qq_mail varchar(20)
);

这样先进行删除再创建可以有效的减少错误,当然其他方式也是可以的,这里就不一一列举,只要能得到想要的结果就行了

4.内容重点总结

  1. 操作数据库:
-- 显示
show databases;

-- 创建
drop database if exists xxx;
create database xxx;

-- 使用
use xxx;

-- 删除
drop database xxx;
  1. 常用的几种数据类型:

int:整型
decimal(m,d):浮点型
varchar(size):字符型
timestamp:日期类型

  1. 操作表
-- 查看
show;

-- 创建
drop table if exists 表名;
create table 表名(
 字段1 类型1,
 字段2 类型2,
 ...
);

-- 删除
drop talbe 表名;

你可能感兴趣的:(mysql,java)