MySQL数据库基础

目录

一、数据库的操作

1、创建数据库

2、查看数据库

3、选中指定数据库

4、删除数据库

二、常用数据类型

1、数值类型

2、字符串类型  

3、日期类型 

三、数据表的操作

1、创建表

 2、查看当前数据库中的所有表

3、查看表的指定结构

4、删除表


我们现在已经有一个数据库服务器了

在这个数据库服务器上,可以在逻辑上划分出多个不同的集合(每个数据集合就称为是一个数据库)

一、数据库的操作

1、创建数据库

creat database 数据库名

注意:

1、create , database .....相当于“关键字”

2、SQL的关键字不区分大小写

3、创建的数据库名不能重复

4、单词之间至少有一个空格,也可以是多个空格

5、在命令行中输入的SQL语句必须以 ; 结尾

看到 “OK” 说明数据库创建成功 

此外,我们也可以使用这样的语法来创建数据库:

CREATE DATABASE [IF NOT EXISTS] 数据库名;

【】内的 IF NOT EXISTS 的意思是“如果不存在”,也就是说,当电脑中不存在与我们现在已有数据库相同的数据库名的时候,才进行数据库的创建操作,而这个【】则表示可有可没有。

当我们不加 IF NOT EXISTS 的时候,如果创建了一个已有的数据库,会进行下面这种报错。  

但是当我们使用了 if not exists的时候,就不会进行报错了! 

如果是一条一条执行SQL,报错的影响其实不大

但是如果是批量执行SQL(把很多SQL写到一个文件夹中) 如果中间某个SQL报错就会停止执行,这个时候这条语句就可以起到重要作用了。 

如果我们想在创建数据库的同时指定数据库的字符集的话,可以在原来的语句中加入;

create database 数据库名 character set utf8;

那么字符集是干什么呢?

字符集其实就是在针对汉字进行编码

我们都知道,英文字母我们在计算机中是使用ASCII码进行表示的,但是在ASCII中,只能表示英文字母,标点符号,以及阿拉伯数字。

但是汉字要表示的内容特别多,因此我们选择搞一个更大的表来表示汉字,因此我们演化出了很多套这样的表示方法(不像ASCII只有一套),其中最常见的表示方式有两种:gbk , utf-8,这两个表上,同一个汉字表示的数字不同,同一个数字,对应的汉字也不同。

其中,gbk 是使用两个字节来表示一个汉字,utf-8是使用3个字节来表示一个汉字。

目前更主流的是utf-8,主要是因为它能表示的东西更多,除了汉字之外其它国家的语言文字符号也能表示。

在这里手动设定一个字符集其实是非常关键的,后序如果要插入一些中文,如果不是utf-8/gbk 之类的中文就会乱码

MySQL默认字符集是拉丁文(没办法表示中文)


2、查看数据库

语法:

show databases;

进行查看操作后,我们能看到目前已经创建了的数据库:

其中,java是我们自身创建的数据库,其他的都是系统自带的几个数据库,我们不要对其随意进行乱改。 


3、选中指定数据库

语法:

use 数据库名;

一旦选中了某个指定的数据库,那么后序的操作都是针对该数据库展开


4、删除数据库

语法:

drop database 数据库名;

同样,当显示“OK”的时候,意味着数据库删除成功

删除数据库是一个非常危险的行为!!!!!!

一旦删除数据库,数据库中所有的数据就没有了,很难恢复。 

那么如何针对上述的危险操作,防患于未然呢?

1、权限  不同的用户能进行的操作是不一样的

2、备份  一旦不小心误删除了数据库,通过之前的备份数据,恢复回来,将损失降到最低

3、重要操作的时候,拉上其他人帮忙一起检查


二、常用数据类型

1、数值类型

分为整型和浮点型:

   

DECIMAL能够精确表示小数

float 和 double 是不能精确表示小数的

例如:0.1 + 0.2 其实是不等于 0.3的,但是当我们使用float 和 double 类型的时候会判断成相等,而使用DECIMAL类型的时候,会精确计算出他的结果,0.3000000000000004

因此,DECIMAL这个类型就是为了解决上述这种问题的

虽然DECIMAL能够精确存储和精确计算小数,但是存储空间占用的更多,计算速度也是更慢的。

2、字符串类型  

varchar(SIZE)属于可变长度的字符串

SIZE表示最大长度,单位是字符(不是字节!!!!)

varchar(10) --->不管是汉字还是字母最大长度都是十个字符

3、日期类型 

 TIMESTAMP 是时间戳

时间戳是计算机表示时间的一种经典方式,以1970年1月1日0时0分0秒为基准,计算当前时刻和基准时刻的秒数/毫秒数之差

DATETIME时间更充足,因此更推荐使用DATETIME


三、数据表的操作

在关系型数据库中,数据是以"表"的方式来进行组织的(类似于excel)

每个数据库中,里面就可以有很多个数据表

每个表可以有很多行,每一行又可以有很多个列(字段)

1、创建表

语法:

create table 表名(列名 类型,列明 类型....);

创建表的时候,我们要先把表的类型确定好,后续我们插入的数据也要遵循当前的这个类型

 这里我们要注意的是,所有与表相关的操作,都是要选中数据库的,不然会出现下面这种报错

现在,我们先选中数据库,再创建表就能成功了

此外,comment是注释,属于在创建表的时候的一种专属注释

当我们在其它时候想使用注释的时候,可以使用#或者--、

和创建数据库类似,我们在创建表的时候,也可以加上if not exists


 2、查看当前数据库中的所有表

语法:

show tables;

通过使用这条SQL语句,我们能看到当前数据库中所有的表


3、查看表的指定结构

语法:

desc 表名;

这里的desc史describle 的缩写,也就是描述的意思

通过它,我们能看到表中的结构:

 注意:int括号中的11表示的是,该列在打印的时候,显示的时候,最多占11个字符这么宽,和存储范围是无关的。


4、删除表

语法:

drop table 表名;

删除表和删除数据库差不多:

 删除表相当于删除了整个表中的所有数据,和删除数据库一样都是非常危险的操作。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值