mysql函数

浅谈mysql

安稳与你 提交于 2020-03-18 13:53:51
关于数据库其实我们可以简单的理解为存储货物的一个厂库,里面分别是按照一定的分类存放的物品,然后人们有时会从厂库中拿走或存储一些物品,有时也会更改或增加一些分类 这些物品都分门别类的存放在厂库中,方便人们的查询和存储。 MySQL是一个关系型数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在互联网行业。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多互联网公司选择了MySQL作为后端数据库。2008年MySQL被Sun公司收购,2010年甲骨文成功收购Sun公司。 MySQL数据库的优点: 1、多语言支持:Mysql为C、C++、Python、Java、Perl、PHP、Ruby等多种编程语言提供了API,访问和使用方便。 2、可以移植性好:MySQL是跨平台的。 3、免费开源。 4、高效:MySql的核心程序采用完全的多线程编程。 5、支持大量数据查询和存储:Mysql可以承受大量的并发访问。 由于本人最先接触到的数据库是oracle,在此谈论mysql说的有些命令或知识可能是oracle 上的,mysql可能不适用,见谅 首先先介绍下mysql的常用命令: 显示所有数据库:show databases; •选定默认数据库:use dbname; •显示默认数据库中所有表:show tables; •放弃正在输入的命令:\c

MySQL 1045登录失败

非 Y 不嫁゛ 提交于 2020-03-18 13:24:32
当你登录MySQL数据库出现:Error 1045错误时(如下图),就表明你输入的用户名或密码错误被拒绝访问了,最简单的解决方法就是将MySQL数据库卸载然后重装,但这样的缺点就是就以前的数据库中的信息将丢失,如果你不想重装,那么就需要找回密码或者重置密码。解决的方法应该有多种,这里我推荐大家使用一种原理通过,操作简单的方法,适用于windows以及linux平台。 MySQL 1045错误如图: [plain] view plain copy print ? ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 解决方案: 1、 停止服务:停止MySQL服务; 2、 跳过验证:修改MySQL安装目录下的my.ini配置文件,使登录时跳过权限检查; 3、 修改密码:启动MySQL服务,登录MySQL,此时提示输入密码,输入任意密码回车即可进入MySQL。然后通过SQL语句修改root用户的密码; 4、 重启服务:将my.ini文件中加入的跳过权限语句删除或加#号注释。重启服务,使用修改后的密码登录即可。 Windows系统具体操作: 1、 停止服务: 方法1:使用dos命令 net stop mysql 即可;使用这种方式MySQL服务必须为安装的服务,否则

MySQL 1045登录失败

爱⌒轻易说出口 提交于 2020-03-18 13:23:55
当你登录MySQL数据库出现:Error 1045错误时(如下图),就表明你输入的用户名或密码错误被拒绝访问了,最简单的解决方法就是将MySQL数据库卸载然后重装,但这样的缺点就是就以前的数据库中的信息将丢失,如果你不想重装,那么就需要找回密码或者重置密码。解决的方法应该有多种,这里我推荐大家使用一种原理通过,操作简单的方法,适用于windows以及linux平台。 MySQL 1045错误如图: [plain] view plain copy print ? ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 解决方案: 1、 停止服务:停止MySQL服务; 2、 跳过验证:修改MySQL安装目录下的my.ini配置文件,使登录时跳过权限检查; 3、 修改密码:启动MySQL服务,登录MySQL,此时提示输入密码,输入任意密码回车即可进入MySQL。然后通过SQL语句修改root用户的密码; 4、 重启服务:将my.ini文件中加入的跳过权限语句删除或加#号注释。重启服务,使用修改后的密码登录即可。 Windows系统具体操作: 1、 停止服务: 方法1:使用dos命令 net stop mysql 即可;使用这种方式MySQL服务必须为安装的服务,否则

MySql 1045错误

不羁岁月 提交于 2020-03-18 13:23:09
   配置时以管理员身份运行MySQL Instance Configuration Wizard   当你登录MySQL数据库出现:Error 1045错误时(如下图),就表明你输入的用户名或密码错误被拒绝访问了,最简单的解决方法就是将MySQL数据库卸载然后重装,但这样的缺点就是就以前的数据库中的信息将丢失,如果你不想重装,那么就需要找回密码或者重置密码。解决的方法应该有多种,这里我推荐大家使用一种原理通过,操作简单的方法,适用于windows以及linux平台。 MySQL 1045错误如图: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 解决方案: 1、 停止服务:停止MySQL服务; 2、 跳过验证:修改MySQL安装目录下的my.ini配置文件,使登录时跳过权限检查; 3、 修改密码:启动MySQL服务,登录MySQL,此时提示输入密码,输入任意密码回车即可进入MySQL。然后通过SQL语句修改root用户的密码; 4、 重启服务:将my.ini文件中加入的跳过权限语句删除或加#号注释。重启服务,使用修改后的密码登录即可。 Windows系统具体操作: 1、 停止服务: 方法1:使用dos命令 net stop mysql 即可

MYSQL数据库进阶操作

こ雲淡風輕ζ 提交于 2020-03-18 11:12:41
一,基础强化 where语句的作用: 使用where子句对表中的数据筛选,结果为true的行会出现在结果集中. 1,as关键字 在使用SQL语句显示结果的时候,往往在屏幕显示的字段名并不具备良好的可读性,此时可以使用 as 给字段起一个别名。 1)使用 as 给字段起别名 select id as 序号, name as 名字, gender as 性别 from students; 2)可以通过 as 给表起别名 -- 如果是单表查询 可以省略表明 select id, name, gender from students; -- 表名.字段名 select students.id,students.name,students.gender from students; -- 可以通过 as 给表起别名 select s.id,s.name,s.gender from students as s; 2,消除重复行(distinct) distinct 可以消除重复的行。 select distinct 列1,... from 表名; 例: select gender from students; -- 看到了很多重复数据 想要对其中重复数据行进行去重操作可以使用distinct select distinct gender from students; 二,条件查询 select

mysql 查询group by 后的 总组数

此生再无相见时 提交于 2020-03-17 20:55:09
对目标表分组 如: select count ( * ) from grade group by s_id ; 若此时想知道分组后总共有几组,可以利用count函数,将上一个表代入。 select count ( * ) from ( select count ( * ) FROM grade GROUP BY s_id ) s ; 需注意第二条代码的表必须取别名 来源: CSDN 作者: alicharity 链接: https://blog.csdn.net/alicharity/article/details/104876510

mysql \"group by\"与\"order by\"的研究--分类中最新的内容

独自空忆成欢 提交于 2020-03-16 21:44:58
这两天让一个数据查询难了。主要是对group by 理解的不够深入。才出现这样的情况 这种需求,我想很多人都遇到过。下面是我模拟我的内容表 复制代码 代码如下: CREATE TABLE `test` ( `id` INT(10) NOT NULL AUTO_INCREMENT, `name` VARCHAR(255) NOT NULL, `category_id` INT(10) NOT NULL, `date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=MyISAM ROW_FORMAT=DEFAULT; INSERT INTO `test` (`id`, `name`, `category_id`, `date`) VALUES (1, 'aaa', 1, '2010-06-10 19:14:37'), (2, 'bbb', 2, '2010-06-10 19:14:55'), (3, 'ccc', 1, '2010-06-10 19:16:02'), (4, 'ddd', 1, '2010-06-10 19:16:15'), (5, 'eee', 2, '2010-06-10 19:16:35'); 我现在需要取出每个分类中最新的内容 复制代码 代码如下: select

python 连接 mysql

牧云@^-^@ 提交于 2020-03-16 18:35:32
下载安装MySQLdb <1>linux版本 http://sourceforge.net/projects/mysql-python/ 下载,在安装是要先安装setuptools,然后在下载文件目录下,修改mysite.cfg,指定本地mysql的mysql-config文件的路径 <2>windows版本 网上搜索到一个 http://www.technicalbard.com/files/MySQL-python-1.2.2.win32-py2.6.exe 安装后import MySQLdb会出现 DeprecationWarning: the sets module is deprecated 这样一个警告,google之 原因是2.6不知sets这个模块,不过已经添加了set内置函数。找到MySQLdb文件夹的中__init__.py,注释掉from sets import ImmutableSet class DBAPISet(ImmutableSet):添加 class DBAPISet(frozenset):;找到converters.py注释掉from sets import BaseSet, Set。然后修改第45行和129行中的Set为set。 搞定。 下面开始操作的demo: Python代码 # -*- coding: utf-8 -*- #mysqldb

PHP学习笔记

三世轮回 提交于 2020-03-16 18:30:45
某厂面试归来,发现自己落伍了!>>> 2009年8月25日 PHP函数 PHP mysql_result() 函数 mixed mysql_result ( resource $result , int $row [, mixed $field ] ) 定义和用法 mysql_result() 函数返回结果集中一个字段的值。 如果成功,则该函数返回字段值。如果失败,则返回 false。 语法 mysql_result(data,row,field) 参数 描述 data 必需。规定要使用的结果标识符。该标识符是 mysql_query() 函数返回的。 row 必需。规定行号。行号从 0 开始。 field 可选。规定获取哪个字段。可以是字段偏移值,字段名或 table.fieldname。 如果该参数未规定,则该函数从指定的行获取第一个字段。 说明 当作用于很大的结果集时,应该考虑使用能够取得整行的函数。这些函数在一次函数调用中返回了多个单元的内容,比 mysql_result() 快得多。 此外请注意,在字段参数中指定数字偏移量比指定字段名或者 tablename.fieldname 要快得多。 例子 <?php $con = mysql_connect("localhost", "hello", "321"); if (!$con) { die('Could not

MySQL:5.6 大事务show engine innodb status故障一例

纵然是瞬间 提交于 2020-03-16 17:26:40
某厂面试归来,发现自己落伍了!>>> 导读: 作者:高鹏(网名八怪),《深入理解MySQL主从原理32讲》系列文的作者。 今天遇到一个朋友的线上问题,大概意思就是说,我有一个线上的大事务大概100G左右,正在做回滚,当前看起来似乎影响了线上的业务,并且回滚很慢,是否可以减轻对线上业务的影响。并且朋友已经取消了双1设置,但是没有任何改观。版本MySQL 5.6首先我们需要知道的是,MySQL并不适合大事务,大概列举一些MySQL中大事务的影响: binlog文件作为一次写入,会在sync阶段消耗大量的IO,会导致全库hang主,状态大多为query end。 大事务会造成导致主从延迟。 大事务可能导致某些需要备份挂起,原因在于flush table with read lock,拿不到MDL GLOBAL 级别的锁,等待状态为 Waiting for global read lock。 大事务可能导致更大Innodb row锁加锁范围,导致row锁等待问题。 回滚困难。 基于如上一些不完全的列举,我们应该在线上尽可能的避免大事务。好了我们下面来进行问题讨论。 一、问题 前面已经说了,我们已经取消了双1设置,所谓的双1就是 sync_binlog=1和 innodb_flush_log_at_trx_commit=1。这两个参数线上要保证为1,前者保证binlog的安全