一、Navicat操作

1.1 Navicat新建数据库

我们打开Navicat是这个样子的,接下来我们要创建一个数据

第一步:点击连接进入新建页面第二步:选择我们要创建的数据库类型

第三步:

  • 主机:localhost表示MySQL服务器就在当前主机上

  • 端口:3306表示MySQL的端口号。客户端和服务器要进行网络通信,一台主机上要进行网络通信的程序是非常多的,所以当我主机的网卡收到一条数据的时候,这个数据交给那个程序进行处理? 那么我们就需要用“端口号”来区分

  • 用户名:root表示权限最高的用户 -> 管理员。MySQL是支持“权限”概念的

这个时候,我们的数据库就创建完成了

1.2 新建查询

我们如果想要编写SQL,就必须在Navicat里面新建查询

点击后我们就可以进行操作了

1.3 编译

选中command + R

二、展示数据库

通过Show databases查看当前MySQL服务器上都有哪些数据

  • 注意拼写

  • Show 和 databases之间有空格

  • ;号结尾

  • 不区分大小写**“SHOW DATABASES”**也行

三、运行

选中需要运行的代码,点击“运行已选择的”.

四、查看数据库

通过show databases;来查看数据库

SHOW DATABASES;

编译后就会出现上面的结果

五、创建数据库

通过 create database 创建新的数据库.    注意这里的base是单数的形式

# 语法
create database 数据库的名字

create database Java_MySQL;
create database if not exisit 数据库名字; #检查一遍这个数据库有没有被创建,没有再创建

我们先看看“create database 数据库的名字”;

我们可以通过“show databases;”来查看是否创建成功

我们现在来看看“create database if not exisit 数据库名字;”的功能

我们现在再次创建一个相同的java_MySQL数据库,看看是否能够检查到这个数据库已经被创建了:

大家可以看到,确实是帮助我们检查到了java_MySQL是已经被创建过的。

命名注意:

  • 不能和关键字重复

  • 由数字下划线字母组成

  • 名称不能重复

  • 可以使用“ ` ”可以命名关键字为自己数据库的名字TAB上面1左边

5.1 创建时制定字符集

创建数据库的时候如果是纯英文没关系,但是有汉字就要制定一下字符集

create database + 数据库的名字 + uft8


create database java_2 charset uft8

5.2 比较规则

collate: 指定数据库字符集的校验规则(对汉语用处不大,对于中文语境来说就是拼音序)

最终就是:

CREATE DATABASE IF NOT EXISTS student CHARACTER SET utf8mb4;

六、注释

“ – ”和“ # ”都可以 注意不是“ // ”

七、选中数据库

使用use来选中数据库

use SQL_Name;

选中数据库是进行表操作的前提

八、删除数据库

drop database 数据库名;

home键:光标来到行首。

end键:光标来到行尾

注意:数据库一旦删除就无法找回

8.2 预防/规范措施

  1. 权限控制

  2. 做好备份

九、修改数据库

9.1 语法

ALTER DATABASE database_name
    [CHARACTER SET charset_name]
    [COLLATE collation_name];# 十、数据类型

9.2 示例

1. 修改数据库的字符集为 utf8mb4

ALTER DATABASE student CHARACTER SET utf8mb4;

十、数据类型

在表中体现数据类型,会给列约定一个类型

9.1 数据值类型

下面的“M”不会影响影响存储空间,决定显示的空间

tinyint -> byte         1字节

smallint -> short     2字节

int -> int                   4字节

bigint -> long           8字节

SQL里的float/double和C语言JAVA里的是一样的。 都是遵守IEEE754标准的浮点数

decimal:能够精确表示浮点数,但是它为了高精度而牺牲了运算速度

9.2 字符串类型

char和varchar的选择:如果长度确定,例如手机号码,身份证,学号等就用char;如果长度不能确定,例如名字,地址等,就使用varchar。

9.3 日期类型

timestamp[(fsp)]: 时间戳是计算机保存表示时间的主流方式

以1970年1月1日0时0分0秒为基准,4bytes的情况下如果超过支持范围后就会归零,但是我们目前一般使用DATETIME的8bytes,这样就没有超过范围的烦恼

DATE:只能只会显示日期,不能表示时分秒,只有年月日