数据库基础
数据库分类
关系型数据库:(SQL)
-
MySQL,Oracle,Sq lServer,DB2,SQLlite
-
通过表和表之间,行和列之间的关系进行数据的存储,学员信息表,考核表,......
非关系型数据库(NoSQL )
-
Redis,MongDB
-
非关系型数据库,对象存储,通过对象的自身的属性来决定
-
DBMS(数据库管理系统)
-
数据库的管理软件科学有效的管理我们的数据。维护和获取数据;
-
MySQL,数据库管理系统!
MySQL简介
MySQL是一个关系型数据库管理系统
MySQL是最好的RDBMA应用软件之一。开软的数据库软件
体积小,速度快,总体拥有成本低,招人成本低,
中小型网站,或者大型网站都在用,可以做集群
基本命令行操作
连接数据库
1.命令行连接
-
mysql -u root -p'密码'————连接数据库
-
flush privileges;————刷新权限
-
show databases;————查看所有的数据库
-
mysql> use school————切换数据库:use 数据库名
Database changed————数据库改变
-
show tables;————查看数据库中所有的表
-
describe student;————显示数据库中所有的表的信息
-
create database westos;————创建一个数据库
-
exit;————退出连接
-
--单行注释(sql本来的注释)
-
/* */多行注释
数据库四大语言
DDL 数据库定义语言
DML 数据库管理语言
DQL 数据库查询语言
DCL 数据库控制语言
操作数据库
操作数据库——操作数据库中的表——操作数据库中表的数据
MySQL关键字不分大小写
1.操作数据库
-
创建数据库
create database [if not exists(可选它是否存在)] '数据库名';
-
删除数据库
drop database '数据库'
-
使用数据据库
use '数据库'
--tab键的上面,如果你的表名或者字段名是一个特殊字符,就需要带``
数据库的列类型
1.数值
-
tinyint 十分小的数据 1个字节
-
smallint 较小的数据 2个字节
-
mediumint 中等大小的数据 3个字节
-
int 标准的整数 4个字节常用的
-
bigint 较大的数据 8个字节
-
float 浮点数 4个字节
-
double 浮点数 8个字节
-
decimal 字符串形式的浮点数 金融计算的时候,一般的使用decimal
2.字符串
-
char 字符串固定大小的 0~255
-
varchar 可变字符串 0~65535常用的变量
-
tinytext 微型文本 2^8-1
-
text 文本串 2^16-1 保存大文本
3.时间和日期
java.util.Date
-
date YYYY-MM-DD,日期
-
time HH:MM:SS ,时间格式
-
datetime YYYY-MM-DD HH:MM:SS 最常用的时间格式
-
timestamp 时间戳; 1970.1.1到现在的毫秒数!
-
year 年份表示
4.null
-
没有值,未知
-
注意,不要使用nll进行运算。没有意义
数据库的字段属型(重点)
Unsigned:
-
无符号的整数
-
声明了该列不能声明成负数
zerofill:
-
0填充的
-
不足的位数使用0来填充 int(3),5---005
自增:AUTO_INCREMENT auto_increment
-
通常理解为自增,自动在上一条记录的基础上+1(默认)
-
通常用来设计唯一的主键~ index,必须是整数类型
-
可以自定义设计主键的自增的起始值和步长
非空 null not null
假设设置为not null ,如果不给它赋值,就会报错!
NUIl ,如果不填写值,默认就是nul!!
default 默认的
表规范:每个表都必须存在的五个字段
1.id 主键
2.version 乐观锁
3.is_delete 伪删除
4.gmt_create 创建时间
5.gmt_update 修改时间