数据库操作
一、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 预防/规范措施
-
权限控制
-
做好备份
九、修改数据库
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:只能只会显示日期,不能表示时分秒,只有年月日
- 感谢你赐予我前进的力量
