当前位置: 首页 > news >正文

MySQL (1)

目录

操作须知

数据类型

1 DDL

1.1 操作库

1.2 操作表

1.3 操作字段(ALTER TABLE 表名)

2 DML

3 DQL(见下章)


操作须知

        ※ MySQL在windows环境不区分大小写,但在Linux环境严格区分大小写

        ※ 不同的数据库可能存在同名的表,可以给表前加"数据库前缀"    //例:aaa.user表示aaa数据库下的user表,bbb.user表示bbb数据库下的user表

        ※ 如果表名字段名是关键字,要写在反引号``

        ※ 字段的(除了数值类型),必须写在单引号''

         Navicat工具中使用sql语句对表结构修改后,表信息没有及时更新:右键 >> 设计表 >> (不做任何操作)保存

数据类型

数据类型对应JAVA类型说明
varchar(n)Stringn:字符串最大长度    //字符多长,就占多大空间
char(n)Stringn:字符串最大长度    //固定占据n个字符空间
dataDate

日期类型(yyyy-MM-dd)

单引号中写入:'1994-06-12''1994.06.12''19940612'

datatimeDate

日期时间类型(yyyy-MM-dd HH:mm:ss)

datetime(3)精确到毫秒;    datetime(6)精确到微秒    //MySQL5.6.4以上版本支持

tinyintbyte,Byte

tinyint(1)取值为0~9,且0表示false,1表示true

        如果以boolean接收数据库数据,有false/true2种对应值

        如果以Boolean接收数据库数据,有null/false/true3中对应值

intint,Integer
bigintlong,Long
double(m,n)double,Doublem:长度最大值    n:小数位(固定,不够用0填充)
decimal(m,n)java.math.BigDecimal

m:长度最大值    n:小数位(固定,不够用0填充)

new BigDecimal(浮点数)    //不推荐,得到的小数"带尾巴"

new BigDecimal("字符串"/整数)    //得到精确的小数

加,减,乘:bd1.add/subtract/multiply(bd2)

:bd1.divide(bd2,保留小数,BigDecimal.AAA)

        .ROUND_HALF_UP    (去除正负号)四舍五入

        .ROUND_UP    (去除正负号)舍弃位"非0进1"

        .ROUND_DOWN    (去除正负号)舍弃位"不会进位"

小数点处理:bd1.setScale(保留小数,BigDecimal.AAA)    //同上

1 DDL

        DDL(Data Definition Languages数据定义语言),操作、操作

1.1 操作库

创建库:CREATE DATABASE 库名

删除库:DROP DATABASE 库名

1.2 操作表

创建表:CREATE TABLE 表名(字段1 类型,字段2 类型......)

删除表:DROP TABLE 表名

修改表名:RENAME TABLE 旧表名 TO 新表名

1.3 操作字段(ALTER TABLE 表名)

添加字段:~ ADD 新字段 类型 约束 COMMENT '备注' AFTER 字段1   

        //新字段位置(不写(最后),FIRST(最前),AFTER(某字段之后))

删除字段:~ DROP 字段

修改字段:~ CHANGE 旧字段 新字段 类型 约束

2 DML

        DML(Data Manipulation Language数据操纵语言),操作记录

插入记录:INSERT INTO 表名 (字段1,字段2......) VALUES ('值1','值2'......),('值3','值4'......)......

更新记录:UPDATE 表名 SET 字段1='值1',字段2='值2'......WHERE 字段='值'

无就插入,有就更新:INSERT INTO 表名(字段1,字段2......)VALUES('值1','值2'......)ON DUPLICATE KEY UPDATE 字段x='值x',字段y='值y'......   

        //依次(从左往右)以'值1','值2'...中的UNIQUE字段去单条件查询

                //如果有记录,对于查询到的所有记录进行UPDATE(值x,值y......)

                //如果无记录,就INSERT(值1,值2)

 先批量删除,再插入:REPLACE INTO 表名(字段1,字段2......)VALUES('值1','值2'......)   

        //依次(从左往右)以'值1','值2'...中的UNIQUE字段去单条件查询,将查询到的所有记录都删除,插入一条全新记录

删除记录:DELETE FROM 表名 WHERE 字段='值'

        DELETE FROM 表名   //删除表,自增数据保留

        TRUNCATE TABLE 表名  //摧毁表然后新建一张同名表,自增从1开始

3 DQL(见下章)

        DQL(Data Query Language数据查询语言),查询数据

http://www.lryc.cn/news/152617.html

相关文章:

  • MR混合现实汽车维修情景实训教学演示
  • ChatGPT在航空航天工程和太空探索中的潜在应用如何?
  • 算法基础第三章
  • ElementUI浅尝辄止20:Pagination 分页
  • Docker从认识到实践再到底层原理(二-1)|容器技术发展史+虚拟化容器概念和简介
  • 什么是大模型?1750亿、700GB的GPT大模型大在哪?
  • 剑指 Offer 10- II. 青蛙跳台阶问题
  • oracle10和11功能说明比较
  • golang-bufio 缓冲写
  • Windows修改电脑DNS
  • Linux驱动之Linux自带的LED灯驱动
  • C盘清理 “ProgramData\Microsoft\Search“ 文件夹过大
  • 深入了解字符串处理算法与文本操作技巧
  • Python爬虫:打开盈利大门的利器
  • 17.CSS发光按钮悬停特效
  • CSS中如何实现弹性盒子布局(Flexbox)的换行和排序功能?
  • spark底层为什么选择使用scala语言开发
  • 基于RabbitMQ的模拟消息队列之三——硬盘数据管理
  • DHorse v1.3.2 发布,基于 k8s 的发布平台
  • 在vue.config.js中配置文件路径代理名
  • 深度学习优化算法相关文章
  • echarts自定义Y轴刻度及其颜色
  • 【云原生进阶之PaaS中间件】第一章Redis-1.3Redis配置
  • C++ 动态内存
  • swagger 接口测试,用 python 写自动化时该如何处理?
  • QT使用QXlsx实现Excel图片与图表操作 QT基础入门【Excel的操作】
  • 【Python常用函数】一文让你彻底掌握Python中的numpy.clip函数
  • Matlab(GUI程式设计)
  • Numpy数组(随时更新)
  • Spring Cloud--从零开始搭建微服务基础环境【三】