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. ZYNQ核心板及其底板开源啦!

    Hello-FPGA ZYNQ 设计开源啦! 开源ZYNQ核心板 + 底板 硬件设计.软件设计,软件设计使用裸机演示,演示了如何使用AXI DMA等关键dma 模块 欢迎加QQ 讨论 94755958 ...

  2. 在Directory.Build.props中用全局变量来管理包的版本号

    1.顶级目录下放置Directory.Build.props文件 为每个软件产品,分配一块独立的windows盘符,在根目录下放置名为Directory.Build.props的文件即可.这个文件名是 ...

  3. ABP模块签入GitLab后自动打包并推送到ProGet

    # 1.添加一个名为下划线的解决方案文件夹 # 2.把解决方案根目录下的几个必要的文件添加到上述文件夹下 # 3.修改NuGet.Config,添加私有NuGet服务器的网址,并配置用户名和密码: A ...

  4. docker使用 mysql8

    # docker pull mysql:8 # mkdir -p /mysql/{datadir,etc/mysql} # cat >/mysql/etc/mysql/my.cnf <&l ...

  5. 【转载】很遗憾,没有一篇文章能讲清楚ZooKeeper

    作为分布式系统解决方案的 ZooKeeper,被广泛应用于多个分布式场景.例如:数据发布/订阅,负载均衡,命名服务,集群管理等等. 因此,ZooKeeper 在分布式系统中扮演着重要的角色,今天通过一 ...

  6. jenkins 上传文件参数

    注意:文件参数不支持Jenkins流水线 文件上传以后会上传至 workspace 里对应的project下面,但是文件会被重命名为File location(设置路径)输入库的值, 如果在jenki ...

  7. pg distinct 改写递归优化(德哥的思路)

    德哥的优化思路巨牛逼,这种递归思维真的太吊了,我目前就缺递归思路. 下面SQL1000W行数据,列的选择性很低,只有两个值('1'和'11')都是字符串类型,'1'只有一条数据,'11'有999999 ...

  8. 【大语言模型基础】-详解Transformer原理

    一.Transformer Transformer最开始用于机器翻译任务,其架构是seq2seq的编码器解码器架构.其核心是自注意力机制: 每个输入都可以看到全局信息,从而缓解RNN的长期依赖问题. ...

  9. 基于ads1299神经信号采集之调试总结和备忘

    前记  ads129x系列芯片在生理信号采集这块应用十分广泛,也是一个不可或缺的芯片.最近几个项目用到它,算是从一个陌生到熟悉的过程吧,这个过程踩过不少坑,中间经历过很多比较大的问题困扰和折磨,花费了 ...

  10. "高绩效"指南

    前言 最近被问到一个问题,在工作中,如何拿高绩效.或者换一种表达方式,如何成为老板的"嫡系". 在这里我想简单谈一谈我的想法,可能不准确,各位看官,当饭后茶语罢了. 为了更加有说服 ...