在要求输入邮箱的文本域,请填写真实的邮件地址。非真实邮件地址,将收不到回复信息。

 分类:DataBase

MySQL新增/修改/删除表中的列

因业务需求可能会导致数据存储结构发生变化,当数据保存到关系型数据库中时必将带来表结构的变化,这就涉及到对表中的列进行新增、修改、删除等操作。 在大多情况下数据库脚本执行必须是可重复的,因此对数据库表的任何表变动都需要进行判断,然而在MySQL数据库中通过SQL脚本进行列的变更就不太便利。下面记录一下曾经用到的一些MySQL脚本: USE DATABASE NAME; -- 这里要换数据库名称 DROP PROCEDURE IF EXISTS Operate_ColumnADD_Update_Delete; DELIMITER$$ -- 1表示新增列,2表示修改列类型,3表示删除列 CREATE PROCEDURE Operate_ColumnADD_Update_Delete(TableName VARCHAR(50),ColumnName VARCHAR(50)...

3个月前 (03-31) 55℃ 0评论 2喜欢

Host is not allowed to connect to this MySQL server问题

在应用部署后访问中出现一下错误: ERROR 1130: Host ‘localhost’ is not allowed to connect to this MySQL server 其实就是 MySQL 不允许当前的Host进行连接。为了本地以后测试方便,暴力解决方法如下: 1.在装有MySQL的机器上登录MySQL:mysql -uroot -p密码2.选择我mysql库,执行use mysql;3.更新user表,执行update user set host = ‘%’ where user = ‘root’;这一句执行完可能会报错,不用管它。4.执行FLUSH PRIVILEGES; 转载请注明:清风博客 » Host is not allowed ...

10个月前 (09-06) 100℃ 0评论 0喜欢

自增长INT主键与GUID主键优缺点

使用INT做主键的优点: 需要很小的数据存储空间,仅仅需要4 byte 。insert和update操作时使用INT的性能比GUID好,所以使用int将会提高应用程序的性能。 index和Join 操作,int的性能最好。 容易记忆。 支持通过函数获取最新的值 使用INT做主键的缺点 如果经常有合并表的操作,就可能会出现主键重复的情况。 使用INT数据范围有限制。如果存在大量的数据,可能会超出INT的取值范围。 很难处理分布式存储的数据表。 使用GUID做主键的优点: 它是独一无二的。 出现重复的机会少。 适合大量数据中的插入和更新操作。 跨服务器数据合并非常方便。 使用GUID做主键的缺点: 存储空间大(16 byte),因此它将会占用更多的磁盘大小。很难记忆。join操作性能比int要低...

4年前 (2016-09-23) 29℃ 0评论 0喜欢

数据库事物四大特性

数据库中事务的四大特性(ACID):原子性、一致性、隔离性、持久性。如果一个数据库支持事务的操作,那么该数据库必须要具备以下四个特性: 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。 一致性(Consistency) 一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。 隔离性(Isolation) 隔离性是当多个用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。 持久性(Durability) 持久性是指一个事务一旦被提交...

4年前 (2016-04-10) 194℃ 0评论 0喜欢

Sql Server 中关闭/取消ID自增字段

在数据库进行表设计的时,大多情况下都习惯使用一个自增列作为主键,具体原因这里不会进行描述。在很多情况下需要对现有数据进行数据迁移,这个时候就需要保证迁移后的数据自增列的数据保持不变。SQL SERVER是支持这种迁移方式的。 首先就要先取消自增长,数据迁移完成后再恢复自增长即可。 SET IDENTITY_INSERT 允许将显式值插入表的标识列中。 语法 SET IDENTITY_INSERT [ database.[ owner.] ] { table } { ON | OFF } 实例 set IDENTITY_INSERT tableName on; INSERT INTO tableName (id,name) VALUES (2,'name'); set IDENTITY_INSER...

8年前 (2012-04-10) 81℃ 0评论 1喜欢