MYSQL操作数据
1.数据库执行流程
客户端工具----脚本命令---------数据库服务软件【数据处理】----磁盘
2.数据库语言
Sql【重点】------保姆PLSQL
统一【举出语法上---允许一些特色】
分为四类:
DDL DML DCT TCL
3.数据库的操作
1)查看数据库
show databases;
select database();
use 数据库名;
2)创建数据库
create database 【if not exists】数据库名;
注:添加了if 表示如果数据不存在才创建,存储在就不创建不报错不添加如果数据库存在就报错
3)删除数据库
drop database 【if exists】数据库名;
4.数据包的操作
1.数据表的概念
数据库软件----数据库---数据表
数据库中是以表格的方式进行数据管理
2.数据表的创建
create [temporary ] table [if not exists] 表名(
字段名1 数据类型(长度 ) 约束
字段名2 数据类型(长度 ) 约束
......
[约束条件定义,主外键]
)【engine=储存引擎】;
注:
表名:表的名字
字段名:就是表格的表头,表示每一列信息的所属
数据类型:用于指定当前字段存储的数据类型
长度:指定当前存储数据的范围
约束:限制当前列的数据操作,规定当前列中数据哪些是不允许的
约束条件:约束除了在字段后定义,有些约束条件还可以独立定义,比如主外键
存储引擎:可以给每一个表指定存储引擎
A.命名 规范参考java标识符
表名:
tab _ 实际意义名字或者_实际意义名字
实际意义的名字:
见其名字知其表周存储的信息的意义,不建议使用拼音,不会百度
字段命名:
表名缩写_有意义的字段名
缩写:一般是取表名有意义名字的首字母,首字母相同取两位以此类推
所有的名称小写
B. 数据类型
整数类型:
tinyint(len) 一个字节
smallint(len) 两个字节
int或者integer (len) 四个字节 一般常用
bigint (len) 八个字节
注:以上类型范围是动态的可以限制
小数类型:
浮点数:
· float(m,d) 四个字节
double(m,d) 八个字节
定点小数:
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~65535 可变长度文本
tinytext 0~255 可变长度文本
longtext
注:
固定长度和可变长度
固定长度是定义长度是多少开辟空间就是多少
可变长度,存储的值的长度是多少,开辟空间就是多少
字符串和文本
文本比字符串更加丰富
一般推荐使用:
字符串:varchar
文本:text
D.时间日期的存储
date yyyy-MM-dd 推荐使用
time hh:mm:ss 推荐使用
timestamp 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字符串数据
添加:insert into testtype(t_id,t_price) values (12345555,0.2345);
查询:select * from testtype;
创建:
例子1
create table _testtype_string(
t_name char(4),
t_sex varchar(4),
t_book text(20)
);
例子2:
create table _testtype_time( t_stime date, t_etime timestamp );