一、连接操作

格式:mysql-h主机地址 -u用户名 -p用户密码

例:连接到远程主机上的mysql假设远程主机的IP为:110.110.110.110用户

名为root,密码为abcd123则键入以下命令:

mysql-h110.110.110.110-uroot-pabcd123

二、用户级操作

1、select user() 查看自己的用户名

2、Linux命令ps -el | grep mysqld用来检测mysql服务器是否在运行。如果结果为:

4 S  0  1796  1  0  85   0 -  1513 wait   ?   00:00:00 mysqld_safe

4 S  27 1856  1796  0  78   0 - 34055 -      ?        00:00:00 mysqld

就说明服务器已经运行起来了。

3、修改密码

update user set password="新密码" where user="用户名"。

4、新加用户

Grant select on 数据库.*to 用户名@登录主机 identified by “密码”。

三、数据库操作

1、创建数据库 create database

2、显示数据库 show database;

3、删除数据库 drop database

4、连接数据库 use

5、当前选中的数据库 select database();

6、查看数据库编码SHOW VARIABLES LIKE 'character%';

四、数据表操作

1、创建数据表 create table ( ,);

2、查看表结构 describe 表名

3、获取表结构 desc表名,或者show columns from 表名;

4、删除数据表 drop table

5、表插入数据 insert into 表名 (字段1,字段2......) values ("值1",“值2”...),....("值1","值2");

6、查询表中数据 select fromwhere ,查看前2行数据 select*from表名 limit(0,2)

7、删除表中数据 delete from 表名 where 表达式

8、修改表中数据 update 表名 set 字段=新值,..where 条件

9、增加字段 alter table 表名 add 字段 类型 其他

加索引   alter table 表名 add index 索引名 (字段1,字段2);

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

删除某个索引 alter table 表名 drop index 索引名;

修改原字段名称及类型 alter table 表名 change旧字段名 新字段名 新类型;

删除字段 alter table 表名 drop 字段名

10、修改表名  rename table 旧表名 to 新表名

五、备份数据库

1、导出整个数据库

导出文件默认是存在mysql\bin目录下

mysqldump -u 用户名 -p 数据库名 > 导出的文件名

mysqldump -u user_name -p123456 database_name > outfile_name.sql

2、导出一个表

mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名

mysqldump -u user_name -p database_name table_name > outfile_name.sql

3、导出一个数据库结构

mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql

-d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table

4、带语言参数导出

mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt      database_name > outfile_name.sql

5、导入文件 source 文件路径  mysql>source d:\mydb.sql

注:导出文件时在操作系统控制台的ySQL\MySQL Server 5.5\bin目录下执行 ,导入文件是在mysql控制台执行

六、query cache

Query Cache 缓存了我们客户端提交给 MySQL 的 SELECT 语句以及该语句的结果集。大概来讲,就是将 SELECT 语句和语句的结果做了一个 HASH 映射关系然后保存在一定的内存区域中。

1、query cache 的五个变量(使用show variable like '%query_cache%'语句查看)

query_cache_limit:允许 Cache 的单条 Query 结果集的最大容量,默认是1MB,超过此参数设置的 Query 结果集将不会被 Cache

query_cache_min_res_unit:设置 Query Cache 中每次分配内存的最小空间大小,也就是每个 Query 的 Cache 最小占用的内存空间大小

query_cache_size:设置 Query Cache 所使用的内存大小,默认值为0,大小必须是1024的整数倍,如果不是整数倍,MySQL 会自动调整降低最小量以达到1024的倍数

query_cache_type:控制 Query Cache 功能的开关,可以设置为0(OFF),1(ON)和2(DEMAND)三种,意义分别如下:

o 0(OFF):关闭 Query Cache 功能,任何情况下都不会使用 Query Cache

o 1(ON):开启 Query Cache 功能,但是当 SELECT 语句中使用的 SQL_NO_CACHE 提示后,将不使用Query Cache

o 2(DEMAND):开启 Query Cache 功能,但是只有当 SELECT 语句中使用了 SQL_CACHE 提示后,才使用 Query Cache

query_cache_wlock_invalidate:控制当有写锁定发生在表上的时刻是否先失效该表相关的 Query Cache,如果设置为 1(TRUE),则在写锁定的同时将失效该表相关的所有 Query Cache,如果设置为0(FALSE)则在锁定时刻仍然允许读取该表相关的 Query Cache。

2、query cache处理子查询

query cache 是以客户端请求提交的 Query 为对象来处理的,只要客户端请求的是一个 Query,无论这个 Query 是一个简单的单表查询还是多表 Join,亦或者是带有子查询的复杂 SQL,都被当作成一个 Query,不会被分拆成多个 Query 来进行 Cache。所以,存在子查询的复杂 Query 也只会产生一个Cache对象,子查询不会产生单独的Cache内容。UNION[ALL] 类型的语句也同样如此。

3、query cache 的效率

Query Cache 的查找,是在 MySQL 接受到客户端请求后在对 Query 进行权限验证之后,SQL 解析之前。当 MySQL 接受到客户端的SQL后,仅仅只需要对其进行相应的权限验证后就会通过 Query Cache 来查找结果,甚至都不需要经过 Optimizer (查询优化器)模块进行执行计划的分析优化,更不许要发生任何存储引擎的交互,减少了大量的磁盘 IO 和 CPU 运算,所以效率非常高。

4、query cache的失效

为了保证 Query Cache 中的内容与是实际数据绝对一致,当表中的数据有任何变化,包括新增,修改,删除等,都会使所有引用到该表的 SQL 的 Query Cache 失效。

5、query cache导致系统整体性能下降

当开启了 Query Cache 之后,尤其是当我们的 query_cache_type 参数设置为 1 以后,MySQL 会对每个 SELECT 语句都进行 Query Cache 查找,查找操作虽然比较简单,但仍然也是要消耗一些 CPU 运算资源的。而由于 Query Cache 的失效机制的特性,可能由于表上的数据变化比较频繁,大量的 Query Cache 频繁的被失效,所以 Query Cache 的命中率就可能比较低下。所以有些场景下,Query Cache 不仅不能提高效率,反而可能造成负面影响。

6、query cache的几种状态参数(使用show status like'%Qcache%'语句查看)

Qcache_free_blocks:目前还处于空闲状态的 Query Cache 中内存 Block 数目

Qcache_free_memory:目前还处于空闲状态的 Query Cache 内存总量

Qcache_hits:Query Cache 命中次数

Qcache_inserts:向 Query Cache 中插入新的 Query Cache 的次数,也就是没有命中的次数

Qcache_lowmem_prunes:当 Query Cache 内存容量不够,需要从中删除老的 Query Cache 以给新的 Cache 对象使用的次数

Qcache_not_cached:没有被 Cache 的 SQL 数,包括无法被 Cache 的 SQL 以及由于 query_cache_type 设置的不会被 Cache 的 SQL

Qcache_queries_in_cache:目前在 Query Cache 中的 SQL 数量

Qcache_total_blocks:Query Cache 中总的 Block 数量

七、存储引擎

1、在线交易范畴内的表都统一使用innodb存储引擎,而不使用myisam的原因

n myisam不支持事务;如果存在myisam与innodb混用的话,事务数据的一致性存在风险。

n myisam读写阻塞,不适用于高并发环境;innodb支持行级锁。

n myisam不支持在线备份,配置复制时可能需要停机或者长时间锁表。

n myisam不够可靠,容易损坏丢失数据。

n 如果两种引擎混用,会给资源分配带来问题。因为有很多参数和设置需要停库才能修改,为了减少停库次数,我们目前都是采用预先最大化分配足额内存和磁盘空间的方式去做的。而myisam和innodb在内存和空间使用上都不一样,如果两者混用,那分配的时候就很难两方都照顾到。如果两者都按比例分配,很可能存在资源不能充分利用的情况;且随着业务的变化,需要调整的话,也会存在停机问题。

n 运维需要收集很多的运行状态数据,innodb有非常多的状态数据可收集;而对于myisam引擎,能收集到的数据非常有限,不利于我们做监控和容量规划。

2、查看存储引擎

n 查看支持的存储引擎

show engines

n 查看mysql默认的存储引擎

show variables like "%storage_engine%"

n 查看某个表用了什么引擎(在显示结果参数engine后面的就表示当前用的存储引擎)

show create table 表名

八、mysql架构图

架构示意简图

模块间的关系图

九、Mysql中的数据类型

1、数字日期类型

常用的时间存储格式主要有datetime、date、timestamp。从存储空间来看timestamp  4个字节,而其他,date 3个字节,datetime 8个字节,而timestamp只能存储1970年之后的时间。

2、字符类型

char(M)是静态长度类型,存放长度以字符数来计算,所以最终存储长度是基于字符集的,latin1最大存储长度为255字节,gbk为510字节。mysql5.0.3以前,如果定义的M值超过255,mysql会自动将char类型转换为可以存入对应数据量的text类型,而mysql5.0.3以后,所以超过255的定义都会直接拒绝,不再自动转换。

varchar(M)属于动态存储长度类型,仅存储占实际存储数据的长度。在mysql5.0.3以前varchar最大只能存放255个字符,占用存储空间的实际大小与字符集有关。从5.0.3开始,varchar的最大存储现在已经改为字节数。而且不再有单个字段的限制,而是除text和blog类型字段外单条记录最大不超过65536bytes。不过M仍然表示字符数,当实际数据在255字节之内时,会使用1个字节来存放实际长度,而大于255字节时,则需要使用2字节来存放。

MySQL求类型为GX的平均积分_mysql基本操作相关推荐

  1. mysql索引类型和区别是什么意思_mysql主键索引和普通索引之间的区别是什么

    索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存.MySQL提供多种索引类型供选择:普通索引 .唯一性索引.主键索引 .全文索引等等.下面本篇文章就来给大家介绍一下主键索 ...

  2. mysql 字符串类型 分区_MySQL分区类型

    博文大纲: 1.RANGE分区 2.LIST分区 3.HASH分区 4.key分区 5.MySQL分表和分区的区别 6.附加:如何实现将分区放在不同的目录下进行存储 MySQL分区类型如下: RANF ...

  3. mysql介绍索引类型的章节_mysql索引总结--mysql索引类型以及创建的详细介绍

    关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车.对于没有索引的表,单表查询可能几十万数据就是瓶颈,而通常大型 ...

  4. c语言编程歌手打分,C语言,就是青年歌手参加歌曲大奖赛,有10个评委进行打分,试编程求这位选手的平均得分。...

    求这位选手的平均得分的源代码如下: #include int main(void) { float grade_ten[10]; float sum,aver,temp; int i; printf( ...

  5. php数据库字段类型,mysql 字段类型说明

    mysql 字段类型说明 更新时间:2007年04月27日 00:00:00   作者: MySQL支持大量的列类型,它可以被分为3类:数字类型.日期和时间类型以及字符串(字符)类型.本节首先给出可用 ...

  6. MySQL 约束类型

    # MySQL 约束类型 约束实际上就是表中数据的限制条件,它通过对表的行或列的数据做出限制,来确保表的数据的完整性.唯一性.比如name字段中要让其用户名不重复,这就需要添加约束.或者必须注册的时候 ...

  7. MySQL索引类型一览 让MySQL高效运行起来

    索引是快速搜索的关键.MySQL索引的建立对于MySQL的高效运行是很重要的.下面介绍几种常见的MySQL索引类型. 在数据库表中,对字段建立索引可以大大提高查询速度.假如我们创建了一个 mytabl ...

  8. mysql 索引类型案例_Mysql索引类型与基本用法实例分析

    本文实例讲述了Mysql索引类型与基本用法.分享给大家供大家参考,具体如下: 索引 MySQL目前主要有以下几种索引类型: 普通索引 唯一索引 主键索引 组合索引 全文索引 - 普通索引 是最基本的索 ...

  9. mysql 求数据的长度_mysql 如何求数据的长度

    mysql求数据长度的方法:1.使用"LENGTH"函数来获取字符串长度,语法如"SELECT LENGTH('字符')":2.通过"CHAR_LEN ...

最新文章

  1. Win10命令行激活 电脑组装
  2. 为什么说Python是伟大的入门语言
  3. r语言必学的十个包肖凯_家长专栏自闭症儿童语言康复训练
  4. java显示数据库 控件_WebLogic运用DB的Java控件访问数据库(1)
  5. wsl2启动桌面_WSL2使用xrdp实现图形桌面
  6. linux gpart 用法,gpart 使用笔记
  7. 从高级程序员的角度来看,Rust 基础知识
  8. 毕业从事汽车行业,转行测试工程师,3个月完成了蜕变,我很满意...
  9. python统计图的三层结构设计代码_【Python数据可视化】用Matplotlib绘制常见统计图,中文显示字体任意设置...
  10. Jquery .ajax方法分析(一)
  11. 浅谈Nodejs应用主文件index.js组成部分——略详解
  12. 2020人脸识别报告:上万家企业入局,八大技术六个趋势一文看尽
  13. 【功能强大的国产Mac办公软件】WPS Office for Mac 1.1.0(1454)
  14. 在微软工作有多舒服?
  15. 《禅者的初心》读书笔记(1)
  16. 02-客房预订系统数据库-用户和客房预订数据操作
  17. Ignite VS Redis
  18. 反脆弱:为什么有些人更能适应工作的剧烈变化?
  19. 苹果5越狱教程_iOS13.5越狱教程
  20. 程序员复工后被裁,600万房21000房贷无力偿还,给年轻人3点忠告

热门文章

  1. linux裸机安装nginx,linux环境下安装nginx步骤 - 进击的乌龟 - 博客园
  2. w ndows10电脑配置看哪里,Windows10怎么自动登录?Windows10自动登录的设置方法
  3. java 数组排序面试题_Java面试宝典_基础编程练习题_数组排序插值(一)
  4. 数据结构实验六 综合数据处理
  5. Java多线程系列--“JUC锁”05之 非公平锁
  6. qt c语言socket,c – Qt双向客户端服务器使用QTcpSocket和QTcpServer
  7. java 实现超时_如何实现带有超时的Runnable? - java
  8. .Net 中的封装知识点
  9. ADO.NET多值查询
  10. 1002 写出这个数 (20分)