Mysql数据库软件基础语法

Mysql数据库软件基础语法1.存储引擎Innodb支持外键、事务和存储结构由数据表结构.frm、数据和索引.ibd构成Myisam由数据表结构.frm、数据.myd、索引.myi构成Innodb的写入速度没有Myisam快,但是查询速度快(恒定)2.关于快捷键\G格式化输出\c结束命令输入操作\h查看帮助\q退出当前命令行模式3.数据类型字符串类型 char v...
摘要由CSDN通过智能技术生成

Mysql数据库软件基础语法

1.存储引擎

Innodb支持外键、事务和存储结构由数据表结构.frm、数据和索引.ibd构成
Myisam由数据表结构.frm、数据.myd、索引.myi构成
Innodb的写入速度没有Myisam快,但是查询速度快(恒定)

2.关于快捷键

  • \G格式化输出
  • \c结束命令输入操作
  • \h查看帮助
  • \q退出当前命令行模式

3.数据类型

  • 字符串类型 char varchar text enum
  • 数值类型 decimal(总位数,小数位) int float
  • 日期和时间类型 datetime date timestamp
  • 二进制数据类型

4.表的字段约束

  • unsigned 无符号
  • int(4) 限制宽度
  • not null
  • default
  • primary key
  • auto_increment
  • unique

5.DDL数据定义语言

  • 创建数据库 create database if not exits user default charset utf8
  • 删除数据库drop database 名
  • 创建表create table 表名(字段名 类型 [字段约束],字段名 类型 [字段约束])
  • 删除表drop table 表名
  • 查看表结构desc 表名
  • 查看建表语句show create table 名\G
  • 修改表结构(添加)alter table 表名 add 字段名信息
  • 修改表结构(删除)alter table 表名 drop 字段名信息
  • 修改字段alter table 表名 chang\modify 被修改后的字段信息
  • 添加唯一索引alter table 表名 add unique 索引名(字段名)
  • 添加普通索引alter table 表 add index 索引名(字段名)
  • 删除索引alter table 表 drop index 索引名

6.DML数据操纵语言

  • 添加数据insert into 表名(字段...) values(数据...)
  • 批量添加值insert into 表名 values(数据..),values(数据...)
    -修改数据update 表名 set 字段=值,字段=值 where 条件
  • 删除数据delete from 表名 where 条件

7.DQL数据查询语言

  • 检索单个列select 列名 from 表名
  • 检索多个列select 列名,列名 from 表名
  • 检索所有列select * from 表名
  • 检索不同的行distinct
  • 限制结果limit 3,4从行3开始的4行;行号从0开始
  • 排序数据order by
  • select子句及其顺序select from join on where group by having order by limit

8.事务

事务是由一系列对系统中数据进行访问与更新的操作所组成的一个程序执行逻辑单元
语法:1.start 2.commit确认修改 3.rollback修改被丢弃
特性:1.原子性(全部执行成功,全部执行失败) 2.一致性(执行前后保持一致性状态) 3.隔离性(一个事务的执行跟其他事务的执行是没有关系的) 4.持久性(事务一旦提交后,数据就会被永久保存)

9.事务的并发问题

  • 脏读:未提交的数据在其他事务中读到
  • 不可重复读:同一个数据不能够重复读取
  • 幻读:重复查询的过程中,数据就发生了量的变化

9.事务隔离级别

  • 读未提交
  • 读已提交
  • 可重复读
  • 顺序读
    4种事务隔离级别从上往下,级别越高,并发性越差,安全性就越来越高。
  • 查看当前会话中事务的隔离级别select @@tx_isolation
  • 隐式提交:执行这种语句相当于执行commit;DDL

10.索引的语法

  • 创建索引alter table 表 add [unique] 索引名(字段名)
  • 创建索引create index 索引名 on 表名(字段名)
    索引需要占用磁盘空间;创建索引需要对表加锁
  • 删除索引drop index 索引名 on 表名
  • 删除索引alter table 表名 drop index 索引名
  • 查看表中的索引show index from 表名
  • 索引的优点:可以加速检索,减少I/O次数,加快检索速度;根据索引分组和排序,可以加快分组和排序。
  • 索引的缺点:占用存储空间;构建索引,会降低数据表的操作的效率
  • 索引的分类:主键索引、唯一索引、普通索引、全文索引、组合索引
  • 删除逐渐索引:先取消自增,再删除主键
  • B+树而不是B树:1.磁盘读写代价更低;2.随机I/O的次数更少;3.查询速度更稳定

11.慢查询

  • 查询慢查询的配置信息show variable like ‘%slow%’
  • 查看慢查询的时间定义show variable like 'long%'
  • 设置慢查询的时间定义set long_query_time=2
  • 开启慢日志set global slow_query_log='on'

12.Explain

13.使用索引的注意事项

  • 不要在列上使用函数和进行运算
  • 尽量避免使用!=或not in 或<>等否定操作符
  • 尽量避免使用or来连接条件
  • 多个单个索引并不是最佳选择
  • 复合索引的最左前缀原则
    -覆盖索引的好处
  • 范围查询对多列的影响
  • 索引不会包含有Null值的列
  • 隐式转换的影响
  • like语句的索引失效问题

14.sql语句优化

  • 避免嵌套查询
  • 避免多表查询
  • 适当建立索引
  • 合理使用索引
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值