1.数据库执行流程
客户端工具---脚本指令---数据库服务软件【数据处理】------磁盘
2.数据库语言
Sql------ 保姆PLSQL
统一 【基础语法上---允许一些特色】
分类四类:
DDL DML DET TCL
3.数据库的操作
1)查看数据库
show databases;
select database;
use 数据库名;
2)创建数据库
create database [if not exists] 数据库名;
备注:添加了if not exists 表示如果数据不存在才创建,存在就不创
建,不报错,不添加如果数据库存在报错
3)删除数据库
drop database【if exists】 数据库名;
4.数据表的操作
1)数据表的概念
数据库软件---数据库---数据表
数据库中是以表格的方式进行数据管理
2)数据表的创建
create 【temporary】 table 【if not exists】 表名(
字段名 数据类型(长度) 约束,
字段名2 数据类型(长度) 约束,
......
【约束条件定义,主外键】
) 【engine=存储引擎】;
备注:
表名:表的名字
字段名:就是表格的表头,表示每一列信息所属
数据类型:用于指定当前字段存储的数据类型
长度:指定当前列存储数据的范围
约束:限制当前列的数据操作,规定当前列中数据哪些是不允许
约束条件:约束除了在字段后面定义,有些约束条件还可以独立定 义,比如主外键
存储引擎:可以给每一个表指定存储引擎
A.命名 规范参照Java标识符
表名:
tab_实际意义名字或者 _实际意义名字
实际意义的名字:
见其名,知其表中存储的信息的意义,不建议使用拼音
字段命名:
表明缩写_有意义的字段名
缩写:一般是取表有意义名字首字母,如果首字母相同取两位,以此类推
所有的名称小写
B.数据类型
整数类型:
tinyint(len) 1个字节
smallint(len) 2个字节
int或者integer(len) 4字节 一般常用长度不是固定的
bigint(len) 8字节
备注:以上类型范围是动态的,可以限制
小数类型:
浮点数:
float(m,d) 4字节
double(m,d) 8字节
定点小数:
decimal(m,d)
备注:
(m,d) 中m表示数据总位数,d表示保留的小数位数
浮点数:
常见小数,没有给定(m,d),默认值,跟Java一样默认长度和小数位数
定点数:
有点类似于Java中bigdecimal,数据库中实际以字符串的方式存储数据
对比:
相同:
都是用来定小数,decimal于double类似
超出小数范围的数据存入,自动四舍五入
不同:
浮点型,数据类型,精度比较容易受影响
定点类型不容易受影响,涉及精度要求很高的----选择定点decimal类型
一般推荐使用double或者decimal
C.字符串
char(n) 0-255个字符 固定长度字符串
varchar(n) 0-65535个字符 可变长度字符串
text 0-65536个字符 可变长度文本
tinytext 0-255个字符 可变长度文本
longtext
备注:
固定长度和可变长度
固定长度是,定义长度是多少,开辟的空间就是多少
可变长度,存储的值得长度是多少,开辟的空间就是多少
字符串和文本
文本比字符串更加丰富
一般推荐使用:
字符串:varchar
文本:text
D.时间日期的存储
date yyyy-MM--dd 推荐使用
time hh:mm:ss 推荐
daytime yyyy-MM-dd hh:mm:ss
timestamp yyyy-MM-dd hh:mm:ss.毫秒 推荐
year yyyy或者yy
E.字节数据的存储
blob 0-65535字节
longblob 2^32-1
F.枚举类型
enum(元素1,元素2,元素3)
显示当前字段能存放的数据,不写,默认是第一个值
set(元素1,元素2)
G.json数据
5.7版本以后,支持存储json字符串数据
联系:创建表存储数据
创建_testtype_int
_testtype_double
查看表中的数据
select * from 表名
添加数据
insert into 表名(字段1,字段2......)values(值1,值2......);