MySQL配置文件

 MySQL软件使用的配置文件名为my.ini,在安装目录下。

  MySQL常用配置参数:

    1.default-character-set:客户端默认字符集。

    2.character-set-server:服务器端默认字符集。

    3.port:客户端和服务器端的端口号。

    4.default-storage-engine:MySQL默认存储引擎。

MySQL附带系统数据库

  1.information_schema:主要存储系统中的一些数据库对象信息,如用户表信息、字段信息、权限信息、字符集信息和分区信息等。

  2.performance_schema:主要存储数据库服务器性能参数。

  3.mysql:主要存储系统的用户权限信息。

  4.test:MySQL数据库管理系统自动创建的测试数据库,任何用户都可以使用。

结构化查询语言(概念)

  1.DML(数据操作语言):用来插入、修改和删除表中的数据,如insert、update、delete语句。

  2.DDL(数据定义语言):在数据库中创建或删除数据库对象等操作,如create、drop、alter等语句。

  3.DQL(数据查询语言):用来对数据库中的数据进行查询,如select语句。

  4.DCL(数据控制语言):用来控住数据库组件的存取许可、存取权限等,如grant、revoke等。

MySQL常用数据类型

常用数值类型
数据类型 字节数
tinyint[(M)] 1字节
smallint[(M)] 2字节
mediumint[(M)] 3字节
int[(M)] 4字节
float[(M,D)] 4字节
double[(M,D)] 8字节
decimal[(M,d)] M+2字节
字符串类型
数据类型 字节 说明
char[(M)] M字节

固定长度字符串

M为0~255的整数

varchar[(M)] 可变长度

可变长度

M为0~65535的整数

tinytext 0~255 微型文本串
text 0~65535 文本串
日期类型
数据类型 格式 取值范围
date yyyy-mm-dd 1000-01-01~9999-12-31
datetime yy-mm-dd hh:mm:ss 1000-01-01 00:00:00~9999-12-31 23:59:59
time hh:mm:ss -835:59:59~838:59:59
timestamp yyyymmddhhmmss 1970年某时刻至2038年某时刻,精度为1秒
year yyyy格式的年份 1901-2155

MySQL字段常用属性约束

常用的属性约束
字段属性、约束名 关键字 说明
非空约束 not null 字段非空
默认约束 default 设置默认值
唯一约束 unique key 设置字段值唯一,允许但只能有一个空值
主键约束 primary key 设置主键
外键约束 foreign key 设置外键
自动增长 auto_increment 设置字段为自增长,可以设定初始值和步长

MySQL存储引擎

  MySQL支持的存储引擎有InnoDB、MylSAM、Memory、MRG_MylSAM、Acrchive、Federated、CSV、BLACKHOLE等九种,可以使用

  show engines语句查看系统所支持的引擎类型。

  以下列举两个常用的引擎

InnoDB和MylSAM存储引擎比较
功能 InnoDB MylSAM
支持事物 支持 不支持
支持全文索引 不支持 支持
外键约束 支持 不支持
表空间大小 较大 较小
数据行锁定 支持 不支持

  

  InnoDB存储引擎主要在事务处理上由优势,如果需要频繁的更新、删除操作,同时还对事务的完整性要求比较高,需要实现并发控制,则适合

  使用该引擎。

  MylSAM存储引擎主要是访问速度比较快,适合以访问为主的应用。

  查看当前默认的存储引擎

      show variables like 'storage_engine%';

MySQL数据文件

  1.存储位置

      默认在data文件夹下。

  2.MylSAM类型的表文件

      .frm文件:表结构定义文件。主要存放表的元数据,宝库哟表结构定义信息等。该文件与存储引擎无关,任何存储类型的表都会有这个文件。

      .MYI文件:索引文件。主要存放MylSAM类型表的索引信息,每个MylSAM类型的表会有一个.MYI文件,存放的位置与.frm文件相同。

      .MYD文件:数据文件。存放表中数据的文件。

  3.InnoDB类型的表文件

      .frm文件:表结构定义文件。主要存放表的元数据,宝库哟表结构定义信息等。该文件与存储引擎无关,任何存储类型的表都会有这个文件。

      ibd文件:数据文件。保存所有InnoDB类型表的数据。这个文件的保存位置可以通过my.ini文件中的参数查询或修改。例:

          innodb_data_home_dir:"文件存放路径";

命令行登录MySQL数据库

  mysql -u root -proot

  或

  mysql -u root -p

  enter password:root

MySQL操作数据库语法

  1.创建数据库

      create database [if not exists] 数据库名;

  2.删除数据库

      drop database [if exists] 数据库名;

  3.切换数据库

      use 数据库名;

  4.查看所有数据库

      show databases;

MySQL操作表语法

  1.创建表

      create table [if not exists] 表名 (

        字段1 数据类型 [字段属性|约束] [索引] [注释],

        字段2 数据类型 [字段属性|约束] [索引] [注释],

        ......

        字段n 数据类型 [字段属性|约束] [索引] [注释]

      ) [表类型] [表字符集] [注释];

  2.删除表

      drop table [if exists] 表名;

  3.查看当前数据库所有表

      show tables;

  4.查看表定义

      describe 表名;

      或

      desc 表名;

  5.在dos窗口设置MySQL默认字符集编码

      set names gbk;

      或

      set character_set_client=gbk;

      set character_set_results=gbk;

      set character_set_connection=gbk;

  6.修改表名

      alter table 旧表名 rename [to] 新表名;

  7.添加字段

      alter table 表名 add 字段名 数据类型 [属性];

  8.修改字段

      alter table 表名 change 原字段名 新字段名 数据类型 [属性];

  9.删除字段

      alter table 表名 drop 字段名;

  10.添加主键

      alter table 表名 add constraint 主键名 primary key 表名(主键字段);

      如果在创建表时添加则只需primary key

  11.添加外键

      alter table 表名 add constraint 外键名 foreign key(外键字段) references 关联表名(关联字段);

      如果在创建表时添加则只需references 关联表名(关联字段)

MySQL数据操作

  1.添加数据

      和SQL一样,只是可以一条语句添加多条记录。insert into 表名 values(),values(),values(),...;

  2.将查询结果添加到新表

      insert into 新表(字段) select 字段 from 原表;         (注:新表需按插入字段的类型、顺序、个数提前创建好)

      或

      create table 新表名(select 字段 from 原表);          (注:新表无需提前创建)

  3.删除数据

      delete from 表名;    (注:不会删除自增列信息)

      或

      truncate table 表名;     (注:会删除自增列信息,执行速度比delete块)

  4.分页查询

      select * from 表名 limit 起始行,查询行数;    (注:起始行从0开始)

      或

      select * from 表名 limit 查询行数;

MySQL常用函数

  

常用聚合函数
函数名 作用
  • AVG([DISTINCT] expr)

返回expr 的平均值。 DISTINCT 选项可用于返回 expr的不同值的平均值。

若找不到匹配的行,则AVG()返回 NULL 。

  • COUNT(expr)

返回SELECT语句检索到的行中非NULL值的数目。

若找不到匹配的行,则COUNT() 返回 0 。

  • MIN([DISTINCT] expr), MAX([DISTINCT] expr)
返回expr 的最小值和最大值。 MIN() 和 MAX() 的取值可以是一个字符串参数;在这些情况下, 它们返回最小或最大字符串值。DISTINCT关键词可以被用来查找expr 的不同值的最小或最大值,然而,这产生的结果与省略DISTINCT 的结果相同。

若找不到匹配的行,MIN()和MAX()返回 NULL 。

  • SUM([DISTINCT] expr)

返回expr 的总数。 若返回集合中无任何行,则 SUM() 返回NULL。DISTINCT 关键词可用于 MySQL 5.1 中,求得expr 不同值的总和。

若找不到匹配的行,则SUM()返回 NULL。

      

常用字符串函数
函数名 作用
  • CONCAT(str1,str2,...)

返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。或许有一个或多个参数。 如果所有参数均为非二进制字符串,则结果为非二进制字符串。 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如: SELECT CONCAT(CAST(int_col AS CHAR), char_col)

  • INSERT(str,pos,len,newstr)

返回字符串 str, 其子字符串起始于 pos 位置和长期被字符串 newstr取代的len 字符。  如果pos 超过字符串长度,则返回值为原始字符串。 假如len的长度大于其它字符串的长度,则从位置pos开始替换。若任何一个参数为null,则返回值为NULL。

  • LOWER(str)

返回字符串 str 以及所有根据最新的字符集映射表变为小写字母的字符 (默认为  cp1252 Latin1)。

  • UPPER(str)

返回字符串str, 以及根据最新字符集映射转化为大写字母的字符 (默认为cp1252 Latin1).

  • SUBSTRING(str,pos) , SUBSTRING(str FROM pos) SUBSTRING(str,pos,len) , SUBSTRING(str FROM posFOR len)

不带有len 参数的格式从字符串str返回一个子字符串,起始于位置 pos。带有len参数的格式从字符串str返回一个长度同len字符相同的子字符串,起始于位置 pos。 使用 FROM的格式为标准 SQL 语法。也可能对pos使用一个负值。假若这样,则子字符串的位置起始于字符串结尾的pos 字符,而不是字符串的开头位置。在以下格式的函数中可以对pos 使用一个负值。

常用日期函数
函数名 作用
  • CURDATE()
将当前日期按照'YYYY-MM-DD' 或YYYYMMDD 格式的值返回,具体格式根据函数用在字符串或是数字语境中而定。
  • CURTIME()

将当前时间以'HH:MM:SS'或 HHMMSS 的格式返回, 具体格式根据函数用在字符串或是数字语境中而定。

  • NOW()

返回当前日期和时间值,其格式为 'YYYY-MM-DD HH:MM:SS' 或YYYYMMDDHHMMSS , 具体格式取决于该函数是否用在字符串中或数字语境中。

  • WEEK(date[,mode])
该函数返回date 对应的星期数。WEEK() 的双参数形式允许你指定该星期是否起始于周日或周一, 以及返回值的范围是否为从0 到53 或从1 到53。若 mode参数被省略,则使用default_week_format系统自变量的值。
  • YEAR(date)

返回date 对应的年份,范围是从1000到9999。

  • HOUR(time)

返回time 对应的小时数。对于日时值的返回值范围是从 0 到 23

  • MINUTE(time)

返回 time 对应的分钟数,范围是从 0 到 59。

  • DATEDIFF(expr,expr2)

DATEDIFF() 返回起始时间 expr和结束时间expr2之间的天数。Exprexpr2 为日期或 date-and-time 表达式。计算中只用到这些值的日期部分。

  • ADDDATE(expr,days)
计算date日期+days天后的日期
常用数学函数
函数名 作用
ceil(x) 返回大于等于x的最小整数
floor(x) 返回小于等于x的最大整数
rand() 返回0~1之间的随机数

MySQL事务、视图、索引、备份和恢复

  事务

      begin;(开始)

      commit;(提交)

      rollback;(回滚)

      set autocommit=0;(关闭自动提交)

      set autocommit=1;(开启自动提交)

  视图

      创建

        create view 视图名

        as

        select * from 表

      删除

        drop view 视图名

      注意:对视图中的数据进行操作将直接引用表中的数据,但如果视图来自多个表则不允许操作数据。

  索引

      创建

        create index 索引名 on 表名(字段)

      删除

        drop index 表名.索引名

      查看

        show index from 表名

  备份数据库

      mysqldump -u root -proot 数据库名 > 保存路径

      或

      mysqldump -u root -p 数据库名 > 保存路径

      enter password root

  恢复数据库

      mysql -u root -p 数据库名 < 路径

      或

      source filename(需登录MySQL服务器)

  导出表数据

      select * from 表 into outfile '路径'      (注:此操作路径需和my.ini配置文件中的secure-file-priv路径一致)

  导入表数据

      load data infile 路径 into table 表名

引用:https://www.cnblogs.com/gaofei-1/p/7152875.html

MySQL基本手册的更多相关文章

  1. Mysql 操作手册

    mysql操作手册 版本:5.6.16mysql linux安装基本步骤:#rpm -e --nodeps mysql-lib-5.1.*#rpm -ivh mysql-server#rpm -ivh ...

  2. 参考MySQL Internals手册,使用Golang写一个简单解析binlog的程序

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. MySQL作为最流行的开源关系型数据库,有大量的拥趸.其生态已经相当完善,各项特性在圈内都有大量研究.每次新特性发布,都会 ...

  3. Mysql完全手册(笔记二,使用数据与性能优化)

    一.使用数据 1.使用变量 MySQL也可以让我们以用户自定义的变量来存储select查询的结果,以便在将来select查询中使用.它们只会在客户会话期间存在,但是它们提供一个方便有效的方法来连接查询 ...

  4. mysql操作手册2

          6 rows in set (0.00 sec) # 我们再把 table 的位置交换一下,再用 right join 试试 select a.id,a.name,b.dept_id fr ...

  5. Mysql完全手册(笔记一,底层与内置函数)

    1.MySQL由五个主子系统组成.协同工作,这五个主子系统是: (1)查询引擎 (2)存储管理器 (3)缓冲管理器 (4)事务管理器 (5)恢复管理器 查询引擎: 这个子系统包含三个相互关联的部件: ...

  6. MySQL入门手册

    本文内容摘自MySQL5.6官方文档,主要选取了在实践过程中所用到的部分文字解释,力求只摘录重点,快速学会使用MySQL,本文所贴代码地方就是我亲自练习过的代码,凡本文没有练习过的代码都没有贴在此处, ...

  7. (大数据工程师学习路径)第五步 MySQL参考手册中文版----MySQL数据库管理

    一.MySQL权限管理 账户权限信息被存储在mysql数据库的user.db.host.tables_priv.columns_priv和procs_priv表中. GRANT和REVOKE语句所用的 ...

  8. mysql使用笔记(网易Mysql实用手册)---1

    1帮助使用 1.1按层次查看帮助 1 当不知道帮助可提供什么时,可通过MySQL内置帮助文档,一层层往下看. 命令: mysql> ? contents ? 等效help,该文档涵盖了数据库操作 ...

  9. mysql在线手册汇总

    1. MySQL官网 http://www.mysql.com/ • Reference Manual ▶ MySQL 5.0 Reference Manual:http://dev.mysql.co ...

  10. mysql 帮助手册 以及 warning: World-writable config file 以及 ERROR 1840 (HY000) at line 24:

    1. mysql --help 2.报错 报错Warning: World-writable config file http://www.jb51.net/article/99027.htm 最近在 ...

随机推荐

  1. ASP.NET Core 微信支付(二)【 发布到服务器上签名加密时报错:系统找不到指定的文件 APIV3】

    参考资料 .Net微信支付退款操作"系统找不到指定的文件" 错误现象 微信支付(API v3)的统一下单接口和订单查询接口在本地调试成功,可以使用,但是发布到服务器上之后调用接口就 ...

  2. 【Azure 应用服务】添加自定义域时,Domain ownership 验证无法通过 

    问题描述 在Azure App Service添加自定义域名时,遇见了Domain ownership 验证无法通过的问题? 问题解决 因为DNS中配置App Service默认域名和自定义域名的CN ...

  3. 【Azure Redis 缓存】定位Java Spring Boot 使用 Jedis 或 Lettuce 无法连接到 Redis的网络连通性步骤

    问题描述 Java Spring Boot的代码在IDE里面跑可以连上 Azure 的 Redis服务,打包成Image放在容器里面跑,就连不上azure的redis服务,错误消息为: Unable ...

  4. Android系统瘦身

    文件格式: Windows常见的文件系统是FAT16.FAT32,NTFS,在Windows环境提供了分区格式转换工具,可以在DOC环境下 使用  Convert命令(Convert e:/fs:nt ...

  5. vue3,实战项目随心笔记

    本项目模仿bibi 网站,主要是做一个pc和手机端的应用案例,主要涉及支付,三方登陆,css原子,妹子ui,路由缓存,组件封装,tailwindcss,vueuse 等常见企业级术应用, 由于本项目是 ...

  6. [VueJsDev] 快速入门 - vscode 设置推荐

    [VueJsDev] 目录列表 https://www.cnblogs.com/pengchenggang/p/17037320.html vscode设置推荐 ::: details 目录 目录 v ...

  7. C#中的JSON序列化方法

    在C#中的使用JSON序列化及反序列化时,推荐使用Json.NET--NET的流行高性能JSON框架,当然也可以使用.NET自带的 System.Text.Json(.NET5).DataContra ...

  8. 可穿戴设备主控制器芯片AMA3B 源码解析之初体验

    一 背景和缘由   现在的mcu非常多,在超低功耗mcu这块,能赢得市场穿戴式设备使用的产品的确不多,以前是的是stm32 L系列,可是,随着L系列的缺货涨价和技术指标没有快速的发展,很多厂商都抛弃了 ...

  9. 高级java进阶之类的卸载

    首先来了解一下jvm(java虚拟机)中的几个比较重要的内存区域 方法区:在java的虚拟机中有一块专门用来存放已经加载的类信息.常量.静态变量以及方法代码的内存区域,叫做方法区. 常量池:常量池是方 ...

  10. 【atcoder 293 F - Erase Subarrays】【动态规划】

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public ...