目录
前言:
1.数据库的操作
1.1显示当前的数据库
1.2创建数据库
1.3使用数据库
1.4删除数据库
2.常用数据类型
2.1数值类型
2.2字符串类型
2.3日期类型
3.表的操作
3.1查看表结构
3.2创建表
3.3查看表
3.4删除表
结束语:
前言:
基于上次我们对数据库的一个简单的介绍,这次我们来细细的了解一下数据库的一些基本操作,以及一些常用的数据库类型和表的操作。下面小编都是基于MySQL来进行演示的,简单来了解一下MySQL是一个客户端服务器结构的程序,同时服务器也是数据库的本体(数据是在服务器这里组织和存储的)。下面小编就给大家讲解一下关于数据库的一些基本操作。(下面的操作都是在MySQL的客户端上进行操作的)。
1.数据库的操作
1.1显示当前的数据库
显示当前的数据库类型:
show databases;
代码演示:
执行完一个SQL之后,会得到一个反馈,反馈会告诉我们当前执行结果有多少行记录,以及消耗多少时间。我的里面已经有8个数据库了,所以大家会看到我们在最后一行会可能到一行提示是:8 rows in set (0.00 sec) 。
注意:
- show和databases之间有一个或者多个空格。
- 注意单词是databases,不是database。
- 使用英文分号结尾(客户端里的任何一个SQL大多数需要用分号来结尾,有的SQL语句不需要用分号结尾,但是少,所以大家就直接都以分号结尾就行)。
1.2创建数据库
语法:
create database Demo1; //创建一个数据库名字为demo1
create database Demo1 [character set utf8mb4]; //创建一个数据库名字为demo1指定字符集utf8mb4。
create database Demo1 [charset utf8mb4]; //指定字符集的时候可以是character set utf8mb4也可以是charset utf8mb4。
表示创建一个名为demo1的数据库,并且将他的字符集设置为utf8或者是utf8mb4也可以。MYSQL的utf8编码并不是真正的utf8,没有包含某些复杂的中文字符,MYSQL真正的utf8是使用utf8mb4,建议大家使用utf8mb4。
其中character set的意思是指定数据库采用的字符集。 或者我们也可以使用charset来进行指定字符集。
这里我们先来明确一点什么是字符集?
平时常用的字符集有gbk和utf8(utf8mb4)。
其中我们常用的Windows简体中文版就是使用的gbk字符集,还有我们所学习的C语言中,vs默认也是gbk。这里再给大家明确一点在gbk中汉字所占的字符是2个字节,在utf8中所占的字节是3个字节。
代码如下所示:
此时我们就会发现我们的数据库当中多出来一个demo1的数据库。
注意:
- 是database,不是databases。
- 数据库命名是由数字,字母,下划线构成,数字不能开头,也不能是SQL中的关键字。
- 如果是想要拿关键字来作为数据库名也可以,但是我们得需要使用反引号( ` )把数据库名给引起来。
- 创建数据库的时候,名字不能重复。
- 写SQL的时候,SQL的关键字啥的都是小写不敏感的。
1.3使用数据库
学会如何创建出一个数据库之后,那么我们有该怎么使用他呢,首先我们要选中数据库。
使用数据库的语法:
use 数据库名;
use demo1;
此时系统就会提示你已经选中这个数据库了。
1.4删除数据库
那么如果我们发现我们不想要这个数据了,那么我们又该怎么办呢?
下面我们来以删除数据库中的test1这个数据库为例。
删除数据库的语法:
drop database [数据库名];
drop database test1;
结果如下所示:
注意:删除数据库这个操作是非常危险的一个操作,大家在操作的时候一定要小心再小心!!!
删除数据库理论上来说是有办法恢复的,只不过是比较复杂,而且不保证能100%恢复过来。
2.常用数据类型
2.1数值类型
数值类型我们分为整型和浮点型。
数据类型 | 大小 | 说明 | 对应java中的类型 |
bit[(M)] | M指定位数,默认为1 | 二进制数,M的范围从1到64,存储数值的范围从0到2^(M-1) | 常用Boolean对应bit,此时默认是1位,即只能存储0和1。 |
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 | 与上述情况一致。 | BigDecimal |
2.2字符串类型
数据类型 | 大小 | 说明 | 对应java类型 |
varchar(size) | 0-65535字节 | 可变长度字符串 | Sting |
Text | 0-65535字节 | 长文本数据 | String |
mediumtext | 0-16777215字节 | 中等长度文本数据 | String |
blob | 0-655335字节 | 二进制 | String |
2.3日期类型
数据类型 | 大小 | 说明 | 对应java类型 |
datetime | 8字节 | 范围从1000到9999年,不会进行时区的检索及转换。 | java.util.Date |
timestamp | 4字节 | 范围从1970到2038年,自动检索当前时区并进行转换。 | java.util.Date |
3.表的操作
3.1查看表结构
语法:
show tables;
代码如下所示:
注意:上面我们还没有创建一个表,所以当我们查询表的时候才会显示空。
3.2创建表
语法:
create table 表名;
create table stu_test;
下面以创建一个学生表为例。
代码如下所示:
3.3查看表
语法:
desc 表名;
代码和查询结果如下所示:
3.4删除表
语法:
drop table 表名;
代码和结果如下所示:
删除完成之后,会提示你删除是否成功。当然我们也可以去查看我们当前数据库中的表还有没有这个表了。
结束语:
好啦!这节中小编主要与大家分享的是MySQL中的一些基本操作,下一节中小编再大家分享有关于表的增删改查。希望这节对大家认识数据库有一定的帮助,想要学习的同学记得关注小编和小编一起学习吧!如果文章中有任何错误也欢迎各位大佬及时为小编指点迷津(在此小编先谢过各位大佬啦!)