MySQL--4

101 阅读4分钟

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 );