mysql

MySQL数据库之更新语句精解

12-26
MySQL语句 用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句.言外之意,就是对数据进行修改.在标准的SQL中有3个语句,它们是INSERT.UPDATE以及DELETE.在MySQL中又多了一个REPLACE语句,因此,本文以MySQL为背景来讨论如何使有SQL中的更新语句. 一.INSERT和REPLACE INSERT和REPLACE语句的功能都是向表中插入新的数据.这两条语句的语法类似.它们的主要区别是如何处

百万级高并发网站MYSQL应用攻略

12-26
在长时间的网站开发过程中,能作一个百万IP的网站对我来说真是一个新的挑战,由于本人的水平有限,所以一直就职于一个小公司,在这里也只是抱着重在参与的想法.在以后我所讲述到的内容知识点上如有不适之处请大家多多批评指教. 在一开始接触PHP接触MYSQL的时候就听不少人说:"Mysql就跑跑一天几十万IP的小站还可以,要是几百万IP就不行了",原话不记得了,大体就是这个意思.一直也没有好的机会去验证这个说法,一是从没有接手过这么大流量的网站,二是平时工作也比较忙,懒得去管这些,反正现在用不着

mysql的udf编程之非阻塞超时重传

12-26
MySQL的UDF(User Defined Function)类似于一种API, 用户根据一定的规范用C/C++(或采用C调用规范的语言)编写一组函数(UDF),然后编译成动态链接库,通过DROP FUNCTION语句来加载和卸载UDF.UDF被加载后可以像调用MySQL的内置函数一样来调用它,并且服务器在启动时会自动加载原来存在的UDF. #ifdef STANDARD/* STANDARD is defined, don't use any mysql functions */#inclu

教你怎样实现MySQL数据库双机热备份

12-26
双机热备份 1.MySQL数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题.还好MySQL数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份数据库中.实现MySQL数据库的热备份. 2.要想实现双机的热备首先要了解主从数据库服务器的版本的需求.要实现热备MySQL的版本都要高于3.2,还有一个基本的原则就是作为从数据库的数据库版本可以高于主服务器数据库的版本,但是不可以低于主服务器的数据库版本. 3.设置主数据库服务器: a.首先查看主服务器的版本是否是支

针对MySQL和PostgreSQL两数据库对比

12-26
PostgreSQL 在这篇文章中,我们选用MySQL 4.0.2-alpha与PostgreSQL 7.2进行比较,因为MySQL 4.0.2-alpha开始支持事务的概念,因此这样的比较对于MySQL应该较为有利. 我们这样的比较不想仅仅成为一份性能测试报告,因为至少从我个人来看,对于一个数据库,稳定性和速度并不能代表一切.对于一个成熟的数据库,稳定性肯定会日益提供.而随着硬件性能的飞速提高,速度也不再是什么太大的问题. 二.两者的共同优势 这两个产品都属于开放源码的一员,性能和功能都在高速

MySQL 序列 AUTO

12-26
MySQL 序列 AUTO_INCREMENT详解及实例代码 MySQL序列是一组整数:1, 2, 3, ...,由于一张数据表只能有一个字段自增主键, 如果你想实现其他字段也实现自动增加,就可以使用MySQL序列来实现. 本章我们将介绍如何使用MySQL的序列. 使用AUTO_INCREMENT MySQL中最简单使用序列的方法就是使用 MySQL AUTO_INCREMENT 来定义列. 实例 以下实例中创建了数据表insect, insect中id无需指定值可实现自动增长. mysql>

linux上mysql安装详细教程

12-26
所有平台的MySQL下载地址为: MySQL 下载. 挑选你需要的 MySQL Community Server 版本及对应的平台. MySQL - MySQL服务器.你需要该选项,除非你只想连接运行在另一台机器上的MySQL服务器. MySQL-client - MySQL 客户端程序,用于连接并操作Mysql服务器. MySQL-devel - 库和包含文件,如果你想要编译其它MySQL客户端,例如Perl模块,则需要安装该RPM包. MySQL-shared - 该软件包包含某些语言和应用

新装MySql后登录出现root帐号提示mysql ERROR 1045 (28000): Access denied

12-26
新装MySQL后,首次执行 mysql -uroot -p 后会发现root密码不为空,要重置root密码请参考以下步骤. 编辑mysql配置文件my.ini(如果是my_default.ini请改名为my.ini),在[mysqld]这个条目下加入 skip-grant-tables 保存退出后重启mysql,点击"开始"->"运行"(快捷键Win+R). 1.停止:输入 net stop mysql 2.启动:输入 net start mysql 这时候在

MySQL数据库迁移data文件夹位置详细步骤

12-26
由于yum安装mysql的时候,数据库的data目录默认是在/var/lib下,出于数据安全性的考虑需要把它挪到/data分区.步骤如下:一.关闭apache和mysql. service httpd stopservice mysqld stop二.将/var/lib下的mysql目录mv(移动)到data目录.为什么要用mv命令,而不用cp命令呢?应为linux文件系统特殊性,mv命令能保留文件的所有属性和权限,尤其是selinux属性.如果用cp命令,就需要回头再去设置mysql文件夹的s

优化Mysql数据表的shell脚本

12-26
由于公司数据库中的数据量较大,定期对公司的mysql数据库中的数据表进行优化操作(关于optimize的描述如下所示),数据库中有300多张数据表,手工去操作显然不太现实,用脚本来执行效率还是很不错的,脚本如下: mysql手册中关于 OPTIMIZE 的描述: OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] - 如果您已经删除了表的一大部分,或者如果您已经对含有可变长度行的表(含有VARCHAR, BLOB或T

mysql单表多timestamp报错#1293 - Incorrect table definition;

12-26
mysql单表多timestamp报错#1293 - Incorrect table definition; there can be only one TIMESTAMP column with C解决 一个表中出现多个timestamp并设置其中一个为current_timestamp的时候经常会遇到 #1293 - Incorrect table definition; there can be only oneTIMESTAMP column with CURRENT_TIMESTAMP

Ubuntu安装mysql失败经历

12-26
Ubuntu 限于种种原因,最近老是觉得的Ubuntu和windows7双系统使用很不爽,所以无聊中格式化硬盘,重新装了个Ubuntu单系统.貌似好久没有接触单系统的计算机了,硬盘安装的Ubuntu明显流畅多了.不过刚得意了一活儿就后悔啦!jdk/mysql/tomcat什么的配置又要重新开始.折腾了. 删除不要的软件后,开始配置自己的新系统.首先就是先安装mysql吧,执行:sudo apt-get install mysql-server之后,自己不理之.后来回来,就遇到下图所示的错误: 很

关于MySQL的1067错误解决方法

12-26
内容: ************* 1 安装MYSQL后更改了ROOT的密码后用 net startmysql 启动时我就遇到了这样的问题.使用以下命令后 c:/mysql/bin/mysqladmin-u root -p shutdown 再net start mysql就没有这个错误提示了! ************* 2 MySQL的1067错误 Q:我的Mysql碰到了 1067 错误 错误信息为: A system error has occurred. System error 10

11.1. OpenSSH Tunnel

12-22
mysql tunnel $ ssh -L 3306:127.0.0.1:3306 user@example.org testing $ mysql -h 127.0.0.1 -uroot -p test 11.1.1. SOCKS v5 Tunnel ssh -D 1080 <远程主机地址> Firefox 配置 为了防止所访问网站的DNS被窥探,可以在Firefox的地址栏中输入about:config 把network.proxy.socks_remote_dns 改为true 原文出处

8.1. MySQL 加密函数

12-06
8.1.1. AES_ENCRYPT / AES_DECRYPT 简单用法 mysql> select AES_ENCRYPT('helloworld','key'); +---------------------------------+ | AES_ENCRYPT('helloworld','key') | +---------------------------------+ | | +---------------------------------+ 1 row in set (0.0

数据库 MySQL中文乱码解决办法总结

11-22
MySQL中文乱码解决办法 前言: MySQL是我们项目中非常常用的数据型数据库.但是因为我们需要在数据库保存中文字符,所以经常遇到数据库乱码情况.下面就来介绍一下如何彻底解决数据库中文乱码情况. 1.中文乱码 1.1.中文乱码 create table user(name varchar(11)); # 创建user表 insert into table user("carl"); # 添加数据 select * from user; insert into user value(&

MySQL 5.7 create VIEW or FUNCTION or PROCEDURE

11-22
1.视图 a. CREATE ALGORITHM = UNDEFINED DEFINER = `root`@`localhost` SQL SECURITY INVOKER VIEW `sakila`.`actor_info` AS SELECT `a`.`actor_id` AS `actor_id`, `a`.`first_name` AS `first_name`, `a`.`last_name` AS `last_name`, GROUP_CONCAT(DISTINCT CONCAT(`

Mysql中错误使用SQL语句Groupby被兼容的情况

11-22
首先创建数据库hncu,建立stud表格. 添加数据: create table stud( sno varchar(30) not null primary key, sname varchar(30) not null, age int, saddress varchar(30) ); INSERT INTO stud VALUES('1001','Tom',22,'湖南益阳'); INSERT INTO stud VALUES('1002','Jack',23,'益阳'); INSERT

SQL去除重复记录(七种)

11-22
话不多说,请看代码: if not object_id('Tempdb..#T') is null drop table #T Go Create table #T([ID] int,[Name] nvarchar(1),[Memo] nvarchar(2)) Insert #T select 1,N'A',N'A1' union all select 2,N'A',N'A2' union all select 3,N'A',N'A3' union all select 4,N'B',N'B1'

MySQL数据库inset性能优化

12-03
  我们在使用中MySQL的时候难免会遇到大批量数据inset的情况,通常最简单的方法就是写一个insert,然后通过循环给变量赋值,批量插入数据库:    //save rddform for (int i = 0; i < rddformlist.Count; i++) { string cmdText = "insert into rddform (ID,CreatedTime,ModifiedTime,CreatedBy,ModifiedBy,FormType) values ('