数据库是一个软件,用来管理磁盘上的数据(也有些数据库是内存数据库)。
数据库大体可以分为 关系型数据库 和 非关系型数据库。
关系型数据库(RDBMS):是指采用了关系模型来组织数据的数据库。 简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
基于标准的SQL,只是内部一些实现有区别。常用的关系型数据库如:
非关系型数据库:不规定基于SQL实现。现在更多是指NoSQL数据库,如:
关系型数据库,有很多的约束,也要按照一定的格式来组织,操作时候需要进行一系列的效验。对于一个大型系统,性能瓶颈很可能出现在数据库方面。
补充:
MySQL 是一个 C/S (客户端/服务器) 结构的程序。
安装 MySQL 服务器(数据库本体,在服务器上存储和管理数据),同时也安装了一个 MySQL 客户端(官方提供的,也可以自己写一个自己的客户端),通过网络来和服务器进行交互。
DDL:数据定义语言创建表结构,用来维护存储数据的结构,修改表结构的时候会用到。
代表指令: create, drop, alter
适用人群:主要是程序员
DML:数据操作语言,用来对数据进行操作,对数据进行增删改查。
代表指令: insert,delete,update
适用人群:主要是程序员
● DML中又单独分了一个DQL,数据查询语言,代表指令: select
DCL:数据控制语言,主要负责权限管理和事务。
代表指令: grant,revoke,commit
适用人群:DBA(数据库管理员)
SHOW DATABASES;
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,create_specification] ...]
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
db_name
库名字一般数字、字母、下划线构成,数字不能开头。
IF NOT EXISTS
如果该数据库不存在才会创建;如果存在则不会创建,避免同名数据库报错的情况。
CHARACTER SET utf8mb4
创建数据库时,可以指定数据库的字符集(gbk、utf8……)避免中文乱码的问题。如果不指定,MySQL 会给顶一个默认值字符集(在 mysql.ini 配置文件中)。
说明:
use 数据库名;
DROP DATABASE [IF EXISTS] db_name;
-- if exists 如果存在 db_name 表就删除 不存在就不删
删除操作需谨慎!!!一旦数据库被删除,其中的数据很有可能就删除了!
如果误删,数据还有一定的抢救机会~~~但无法保证一定都可以全部恢复
1.MySQL中的每一次操作都会生成一跳 binlog 日志。可以通过 binlog 中的内容来还原数据(binlog内容可能非常大,也可能不全)。
2.删除只是把磁盘上的对应数据 标记为无效,数据其实还在 ,可以通过一些专业的磁盘修读工具来找回部分数据。
数据库是以数据表的形式来管理数据的。
Java中 double folat 都是存在精度误差的,遵守 IEEE 754 标准的浮点数。
eg:钱的相关数距,必需精确,此时类型推荐 DECIMAL ,避免使用double或folat。
需要操作数据库中的表时,需要先使用该数据库:
use db_test;
语法:
CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
);
可以使用comment增加字段说明。
示例:
create table stu_test (
id int,
name varchar(20) comment '姓名', -- sql中的字符串可以是单引号 也可以是双引号
password varchar(50) comment '密码',
age int,
sex varchar(1),
birthday timestamp,
amout decimal(13,2), -- 13位,小数点2位
resume text
);
desc 表名;
语法格式:
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
示例:
-- 删除 stu_test 表
drop table stu_test;
-- 如果存在 stu_test 表,则删除 stu_test 表
drop table if exists stu_test;
删除表操作很危险!!!需谨慎!危害没有数据库那么大,但是也挺大的~~
软件安装:https://blog.51cto.com/aiilive/2116476(Windows下通过MySQL Installer安装MySQL服务)
MySQL 的客户端有很多种,常用的是 命令行版本 和 图形化界面的客户端。
Windows中的快捷方式本质上就是一条命令,双击图标相等于自动执行这些命令。
方法二:在 cmd 上使用命令启动
目标中的内容是:"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysql.exe" "--defaults-file=C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" "-uroot" "-p" "--default-character-set=utf8"
C:\Program Files\MySQL\MySQL Server 5.7\bin\mysql.exe
指定MySQL客户端路径,本质上是一个 exe 程序
--defaults-file=C:\ProgramData\MySQL\MySQL Server 5.7\my.ini
指定MySQL配置文件路径
-uroot
使用用户名 root 登录
-p
使用密码登录(可以直接在后面输入密码;也可以直接回车,系统提示输入密码)
--default-character-set=utf8
默认字符集(设置客户端字符集)服务器也有自己的字符集,必需两者字符集匹配才不会乱码
直接将其拷贝到cmd中,输入密码即可进入数据库命令行。
把 MySQL 的路径加入到 path 环境变量中,避免每次启动都需要输入数据库的路径。例如配置后可直接mysql -uroot -p
https://blog.csdn.net/qq_43361209/article/details/105798358