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
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-65535字节可变长度字符串String
text0-65535字节长文本数据String
mediumtext0-16777215字节中等长度文本数据String
blob0-65535字节二进制形式的长文本数据byte[]

2.3 日期类型

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

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

3.表的操作

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

use study;

3.1 查看表的结构

desc 表名

示例:
在这里插入图片描述

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 表名;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值