可用整型,long(unix time) 可用time_stamp 可用date_time 哪一种最为适合? http://dba.stackexchange.com/questions/46440/int-or-timestamp-for-the-change-time-column-in-a-logging-table根据这张图及目前的需求,还是用int最为合适 MySQL存储时间相关变量标签:本文系统来源:http://www.cnblogs.com/majia1949/p/4534185.html
注:存储过程和函数的区别:存储过程没有返回值。 1、查看存储过程 show procedure status \G 2、删除存储过程drop procedure 存储过程名 3、创建存储过程 create procedure 存储过程名(n int) beginif j=h thenselect * from g where num>n;elseselect * from g where num<n; end$ 4、调用存储过程: call 存储过程名(); 例1: create procedure p1(n smallint) begindeclare i int;declare s int;set i=1;set s=0;while i<=n dos...
表达式; endif; 2、 字符串连接 oracle使用 || ; mysql 使用concat函数; 3、 日期计算(年月日数) mysql: 函数TimeStampDiff()是MySQL本身提供的可以计算两个时间间隔的函数,语法为:TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2),其中unit单位有如下几种,分别是:SECOND, MINUTE, HOUR, DAY,WEEK, MONTH, QUARTER, or YEAR。 当前时间:sysdate() 字符转日期:str_to_date() 分隔符...
这种引擎是mysql最早提供的。这种引擎又可以分为静态MyISAM、动态MyISAM 和压缩MyISAM三种:静态MyISAM:如果数据表中的各数据列的长度都是预先固定好的,服务器将自动选择这种表类型。因为数据表中每一条记录所占用的空间都是一样的,所以这种表存取和更新的效率非常高。当数据受损时,恢复工作也比较容易做。 动态MyISAM:如果数据表中出现varchar、xxxtext或xxxBLOB字段时,服务器将自动选择这种表类型。相对于静态MyISAM,这种...
2、mysql的低版本(5.1),存储过程中的limit不能使用变量,编译报错,如下:You have an error in your SQL syntax, ...near iStart,iNum 3、怎么解决低版本的问题?可以使用执行动态sql语句,把整个sql语句传给存储过程。静态sql语句,编译的时候是sql的语句结构就已经确定下来。而动态sql语句,是在执行的时候,才知道sql的语句结构。注意:绑定变量也是静态sql语句,sql语句结构确定下来了,等着填空。动态sql语句如下:DROP P...
1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(StoredProcedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。 一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一些特殊的控制结构组成。当希望在不同的应用程序或平台上执行相同的函数,或者...
存储过程变量的拼接 有时候我们需要模糊查询,但是同时我们又要 在模糊查询的时候使用变量,我们又想在变量的后面拼接一个%去匹配模糊查询 那么就会用到 concat函数 示例如下: www.2cto.com SELECT count(id) FROM config WHERE name like concat(studentName,‘%‘); 其中studentName是变量, 如果复制studentName的值=‘李’ 那么效果相当于 SELECT count(id) FROM config WHERE name like ‘李%‘; 注...
‘default_storage_engine‘;执行结果: 查看数据库所支持的数据库引擎 show engines\G 执行结果: show variables like ‘have%‘; 执行结果: 创建表时设置存储引擎: CREATE TABLE dept( /*部门表*/ deptno MEDIUMINT UNSIGNED NOT NULL DEFAULT 0, dname VARCHAR(20) NOT NULL DEFAULT "", loc VARCHAR(13) NOT NULL DEFAULT "" ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; 修改表的存储引擎...
SQL过程代码: DELIMITER $$CREATE DEFINER=`root`@`localhost` PROCEDURE `test_procedure`() BEGINDECLARE errno int;declare continue HANDLER for sqlexception begin rollback;set errno=1; end;start transaction;set errno=0;insert into test(name) values (kaka);insert into test(id, name) values(1,papa);commit;select errno; END 过程说明: 1、首先表中已经存在一条记录(1,‘baby‘); 2、调用测试存储过程; 3、该...
MySQL安装时不能选择数据库文件的安装位置,也没有可用的直接更改数据库目录的工具,要想更改数据目录,方法如下:MySQL安装并配置完毕,默认的数据哭安装目录为C:\ProgramData\MySQL\MySQL Server 5.1\data(vist或者win7下)C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.1/Data/(xp下),下面以win7为例介绍:1.正常安装并配置MySQL;2.新建想修改的数据库安装目录如E:\MySQL\Data;3.拷贝C:\Pro...
有几种方法可以吧表从一种引擎转移到另外一种引擎上,都有自己的优缺点。下面介绍3种常用的方法。一:ALTER TABLE 把表从一种引擎转移到另外一种引擎最简单快捷的方法用ALTER TABLE语句: mysql>ALTER TABLE mytablename ENGINE = 引擎类型 详细介绍该用法:这种语法适合所有的存储引擎,不过这里有一个“陷阱”:这种转换过程会消耗大量时间。MySQL为此要执行一个旧表到新表的逐行复制(Row-By-Row Copy)。在这期间,转换操作可能...
通常意义上,数据库也就是数据的集合,具体到计算机上数据库可以是存储器上一些文件的集合或者一些内存数据的集合。 我们通常说的MySql数据库,sql server数据库等等其实是数据库管理系统,它们可以存储数据,并提供查询和更新数据库中的数据的功能等等。根据数据库如何存储数据和如何操作数据的实现机制不同,这些数据库之间即有区别又有共同点。 MySql数据库是开放源代码的关系型数据库。目前,它可以提供的功能有:支持sq...
MySQL 版本 对 utf8mb4 字符集的支持是 MySQL 5.5 的新功能,所以你需要确保你使用的 MySQL 版本至少是 5.5。基本上,2014 年以后的新项目都应该直接上 5.6 了。 MySQL 备份和导入 在启用了 utf8mb4 字符集之后,备份和导入时就不能再用默认参数了。 用 mysqldump 备份时,需要加入:mysqldump --default-charater-set=utf8mb4 而在恢复备份或通过程序连接时,需要在每次连接打开之后发送下面这条 SQL 指令:SET CHARSET utf8mb4 关...
innoDB存储引擎:如果应用中需要执行大量的INSERT或UPDATE操作,则应该使用InnoDB。优点:(1) innodb存储引擎该mysql表提供了事务(事务有原子性以及一致性,这样保障数据安全,全步对才对),回滚以及系统崩溃修复能力(断电或者异常前能够自动保存数据)和多版本迸发控制的事务的安全。大尺寸的数据集趋向于选择InnoDB方式,因为其支持事务处理和故障恢复,INNODB通过事务日志来恢复数据。(2)innodb存储引擎支持外键(foreig...
mysql数据库,delete记录不释放存储空间标签:本文系统来源:http://my.oschina.net/blueskyer/blog/464452