作者:~小明学编程
文章专栏:MySQL
努力学编程的小明
今天开始就来给大家分享关于本人数据库的学习历程,本人用的软件是MySQL5.7版本,今天给大家分享的是MySQL数据库的基础知识。
目录
数据库的操作
在安装完数据库之后,首先我们输入密码先进入我们的数据库,接下来我们就可以看看我们的数据库里面有什么东西。
显示当前的数据库
show databases;
这条语句是显示我们当前所有的数据库的。
以上就是展示了我们当前所有的数据库,前面5个是我们自带的数据库,从test开始就是本人自己创建的数据库了。
所以我们 接下来就是要了解我们该怎么创建我们自己的数据库了。
创建数据库
1.创建一个库中没有的数据库
create database 数据库名称;
可以看到在我们第一次创建demo库的时候是OK的但是当我们重复的创建的时候就会ERROR了,所以我们接下来的语句就可以解决这个问题。
2.创建数据库如果存在就不创建不会报错
create database if not exists 数据库名称;
3.创建数据库并且指定字符集
create database if not exists 数据库名称 character set 指定字符集;
注意:
1.这里我们所写的SQL语句全部是小写的,个人偏好,觉得小写的语句更容易辨认,写起来也更加的流畅,这里看个人的喜好,大小写都可以。
2.当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则
是:utf8_ general_ ci。。
3.MySQL的utf8编码不是真正的utf8,没有包含某些复杂的中文字符。MySQL真正的utf8是
使用utf8mb4,建议大家都使用utf8mb4,所以这里我们直接指定了utf8mb4。
删除数据库
刚学完创建数据库那么现在就来教教大家怎么删除数据库,看到这里的以下内容注意使用,以后删库跑路别说看过我的博客,本人不负任何责任。
drop database 数据库名称;
drop database if exists 数据库名称;
上面第一条是直接删除不考虑存在与否,下面一条是如果存在我就删除。
这里我们可以看到在我们删除 之后原本的demo库就消失了,删除成功。
当然在以后的工作之中是不会这么轻易的就让你删库的,肯定会有各种权限和提醒,也会有很多的备份。
使用数据库
在了解了创建和删除之后接下来我么就学习如何去使用我们指定的数据库
use 数据库名称;
方法很简单就是use加上我们数据库的名称就行了。
SQL中的数据类型
和我们的C和Java一样数据库也有属于自己的数据类型。
数值类型
以上是我们SQL中的数值数据类型,值得注意的是数值类型可以指定为无符号的类型,和我们的C语言一样unsigned,表示我们将不会取负数,但是不建议这样去使用。
字符串类型
数据类型 | 大小 | 说明 | 对应java类型 |
VARCHAR (SIZE) | 0-65,535字节 | 可变长度字符串 | String |
TEXT | 0-65,535字节 | 长文本数据 | String |
MEDIUMTEXT | 0-16 777 215字节 | 中等长度文本数据 | String |
BLOB | 0-65,535字节 | 二进制形式的长文本数据 | byte[] |
日期类型
数据类型 | 大 小 | 说明 | 对应java类型 |
DATETIME | 8 字 节 | 范围从1000到9999年,不会进行时区的 检索及转换。 | java.util.Date、 java.sql.Timestamp |
TIMESTAMP | 4 字 节 | 范围从1970到2038年,自动检索当前时 区并进行转换。 | java.util.Date、 java.sql.Timestamp |
SQL中有一个特别的类型,叫做日期类型,专门对日期进行操作,当然我们也可以用字符串来代替,不过这样不是很好因为没有规范,我们可以输入一些比较离谱的日期如2022-1-100,这显然是一个不合法的日期,但是如果我们引用日期类型就会报错,避免这种事情的发生。
表的操作
什么是表呢?
前面我们了解了什么是数据库,我们每个数据库里面会有很多张的表,每张表会有我们的属性,下面就先了解一下怎么去创建我们的表。
创建表
在创建表之前还是老规矩,先利用我们的数据库。
use 数据库名称;
create table if not exists 表名(
字段1 类型1,
字段2 类型2,
...
);
例如:
create table if not exists customer
(
customer_id int,
name varchar(32),
address varchar(256),
email varchar(64),
sex bit,
card_id varchar(18)
);
其中我们也可以利用comment字段加上注释
create table if not exists goods(
goods_id int comment '商品编号',
goods_name varchar(32) comment '商品名称',
unitprice int comment '单价,单位分',
category varchar(12) comment'商品分类',
provider varchar(64) comment '供应商名称'
);
当然我么的注释不止这么一种写法,常用的还有 -- 这种写法
create table if not exists customer
(
customer_id int, -- 客户编号
name varchar(32), -- 客户姓名
address varchar(256), -- 客户地址
email varchar(64), -- 电子邮箱
sex bit, -- 性别
card_id varchar(18) -- 身份证
);
查看表
首先我们可以通过
show tables;
这样的语句来查看我们当前数据库中的所有表的名称,然后通过
desc 表的名称;
来查看此表的具体信息。
删除表
与删库一样删除表同样也是危险的操作,
drop table 表的名称;