mysql修改数据库
被取消的命令MySQL 之前提供了一个 rename database db_old to db_new 的命令来直接对数据库改名,可能由于实现的功能不完备(比如,这条命令可能是一个超大的事务,或者是由于之前的表很多还是 MyISAM 等),后来的版本直接取消了这条命令。更改数据库名大致上有以下几种方案:
一、mysqlmp 导入导出要说最简单的方法,就是直接用 mysqlmp 工具,在旧库导出再往新库导入(最原始、最慢、最容易想到)的方法:旧库 yttdb_old 导出(包含的对象:表、视图、触发器、事件、存储过程、存储函数)
二、改整库的表名利用 MySQL 更改表名的方法来批量把旧库的所有表依次遍历,改名为新库的表。这种方法比第一种要快很多倍,但是没有第一步操作起来那么顺滑,不能一步到位。比如,要把数据库 yttdb_old 改名为 yttdb_new,如果数据库 yttdb_old 里只有磁盘表,那很简单,直接改名即可。或者写个脚本来批量改,非常简单。但是一般旧库里不只有磁盘表,还包含其他各种对象。这时候可以先考虑把旧库的各种对象导出来,完了在逐一改完表名后导进去。
三、历史方案其实在 MySQL 早期还有一种方法。假设 MySQL 部署好了后,所有的 binlog 都有备份,并且二进制日志格式还是 statement 的话,那就可以简单搭建一台从机,让它慢慢追主机到新的库名,等确切要更改旧库的时候,再直接晋升从机为主机即可。这里只需要从机配置一个参数来把旧库指向为新库:replicate-rewrite-db=yttdb_old->yttdb_new不过这种局限性很大,不具备标准化,不推荐。
总结其实针对 MySQL 本身改库名,大致就这么几种方法:
如果数据量小,推荐第一种;
数据量大,则推荐第二种;
数据量巨大,那就非 MySQL 本身能解决的了。
可通过部署第三方 ETL 工具,通过解析 MySQL 二进制日志或其他的方式来把旧库数据直接读取到新库达到改名的目的等等。
B. mysql 修改字段内容
分析如下:
update banji setnum=要改的值
UPDATE 表名称 SET 列名称 = 新值WHERE列名称 = 某值
如果要改全部,就忽略条件.
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle旗下产品。
MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最的RDBMS(Relational Database Management System,关系数据库管理系统) 应用软件。
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。
MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
由于其社区版的性能卓越,搭配php和Apache可组成良好的开发环境。
(2)mysql修改数据库扩展阅读:
应用环境
与其他的大型数据库
例如 Oracle、DB2、SQL Server等相比,MySQL
自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于 MySQL是开放源码软件,因此可以大大降低总体拥有成本。
Linux作为操作系统,Apache
或Nginx作为 Web 服务器,MySQL
作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP“或“LNMP”组合。
存储引擎
MyISAMMySQL 5.0 之前的默认数据库引擎,最为常用。拥有较高的插入,查询速度,但不支持事务
InnoDB事务型数据库的首选引擎,支持ACID事务,支持行级锁定, MySQL 5.5 起成为默认数据库引擎
BDB源 自 Berkeley DB,事务型数据库的另一种选择,支持Commit 和Rollback 等其他事务特性
Memory所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在 MySQL 重新启动时丢失
Merge将一定数量的 MyISAM 表联合而成一个整体,在超大规模数据存储时很有用
Archive非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive 拥有高效的插入速度,但其对查询的支持相对较差
Federated将不同的 MySQL 服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用
Cluster/NDB高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用
CSV: 逻辑上由逗号分割数据的存储引擎。它会在数据库子目录里为每个数据表创建一个 .csv 文件。这是一种普通文本文件,每个数据行占用一个文本行。CSV 存储引擎不支持索引。
BlackHole:黑洞引擎,写入的任何数据都会消失,一般用于记录 binlog 做复制的中继
EXAMPLE 存储引擎是一个不做任何事情的存根引擎。它的目的是作为 MySQL 源代码中的一个例子,用来演示如何开始编写一个新存储引擎。同样,它的主要兴趣是对开发者。EXAMPLE 存储引擎不支持编索引。
另外,MySQL 的存储引擎接口定义良好。有兴趣的开发者可以通过阅读文档编写自己的存储引擎
C. 修改MYSQL数据库的默认地址
具体操作:
一、停止mysql
开始-cmd
net
stop
mysql5
二、复制原来数据库目录到新目录
1、复制c:\programdata\mysql\mysql
server
5.5\中的data目录到
d:\program
files\mysql\mysql
server
5.5\目录下(自建的目录)
三,修改mysql配置文件
1、用记事本打开c:\programdata\mysql\mysql
server
5.5\data\目录下的my.ini
找到datadir="c:\programdata\mysql\mysql
server
5.5\data"
在前面加#注释掉
在下面添加一行
datadir="d:\program
files\mysql\mysql
server
5.5\data"
修改完成后,保存退出。
四、重新启动mysql
1、开始-cmd
net
start
mysql5
2、进入mysql控制台
开始-所有程序-mysql-mysql
server
5.5-mysql
5.5
command
line
client
提示输入mysql
root账号的密码,输入之后回车,进入mysql控制台
show
variables
like
’%datadir%’;
#查询mysql数据库存放目录
如查询显示为d:\program
files\mysql\mysql
server
5.5\data\即表示修改成功!
可用data下的数据文件备份还原数据库
D. 如何修改MySQL数据库名称
修改MySQL数据库名称的方法如下:
1.语句修改法:
RENAME DATABASE db_name TO new_db_name
这个语法在mysql 5.1.7中被添加进来,到了5.1.23又去掉了。
2.如果所有表都是MyISAM类型的话,可以改文件夹的名字
把data目录中的db_name目录重命名为new_db_name
3.重命名所有的表
代码如下:
E. mysql怎么修改数据库名
提供三种方法:
1.
RENAME
DATABASE
db_name
TO
new_db_name
这个。。这个语法在mysql
5.1.7中被添加进来,到了5.1.23又去掉了。
据说有可能丢失数据。还是不要用的好。
2.如果所有表都是MyISAM类型的话,可以改文件夹的名字
关闭mysqld
把data目录中的db_name目录重命名为new_db_name
开启mysqld
3.重命名所有的表
CREATE
DATABASE
new_db_name;
RENAME
TABLE
db_name.table1
TO
new_db_name.table1,
db_name.table2
TO
new_db_name.table2;
DROP
DATABASE
db_name;
F. 如何修改mysql数据库默认地址
具体操作:
一、停止MySQL
开始-cmd
net stop mysql5
二、复制原来数据库目录到新目录
1、复制C:\ProgramData\MySQL\MySQL Server 5.5\中的data目录到
D:\Program Files\MySQL\MySQL Server 5.5\目录下(自建的目录)
三,修改MySQL配置文件
1、用记事本打开C:\ProgramData\MySQL\MySQL Server 5.5\data\目录下的my.ini
找到datadir="C:\ProgramData\MySQL\MySQL Server 5.5\data"
在前面加#注释掉
在下面添加一行
datadir="D:\Program Files\MySQL\MySQL Server 5.5\data"
修改完成后,保存退出。
四、重新启动MySQL
1、开始-cmd
net start mysql5
2、进入MySQL控制台
开始-所有程序-MySQL-MySQL Server 5.5-MySQL 5.5 Command Line Client
提示输入MySQL root账号的密码,输入之后回车,进入MySQL控制台
show variables like ’%datadir%’; #查询MySQL数据库存放目录
如查询显示为D:\Program Files\MySQL\MySQL Server 5.5\data\即表示修改成功!
可用data下的数据文件备份还原数据库
G. mysql如何修改数据库目录
mysql中修改数据库目录方法:
操作步骤:
1.检查mysql数据库存放目录
mysql -u root -prootadmin
#进入数据库
show variables like '%dir%';
#查看sql存储路径
(查看datadir 那一行所指的路径)
quit;
2.停止mysql服务
service mysqld stop
3.创建新的数据库存放目录
mkdir /data/mysql
4.移动/复制之前存放数据库目录文件,到新的数据库存放目录位置
cp -R /usr/local/mysql/data/* /data/mysql/ #或mv /usr/local/mysql/data/* /data/mysql
5.修改mysql数据库目录权限以及配置文件
chown mysql:mysql -R /data/mysql/
vim /etc/my.cnf
datadir=/data/mysql (制定为新的数据存放目录)
vim /etc/init.d/mysqld
datadir=/data/mysql
6.启动数据库服务
service mysqld start
说明:根据以上的简单6步操作,已经成功的数据库目录更换路径了。
H. 如何修改MySQL数据库表中的数据
可以使用 MySQL-Front这个软件,非常好用.
软件下载在这里
华军软件园
http://www.onlinedown.net/soft/33451.htm
软件使用说明在这里
http://hi..com/hjl0735/blog/item/aa12aef599a38f20bc3109fa.html
试试吧,用过sqlserver的都会用.
图文教程下载
天极网的
http://bbs.yesky.com/attachment.php?aid=74780
I. mysql数据库表如何修改数据
你好
修改表的数据一般使用update语句
具体的话参考相关SQL文档吧
不是几句话能说明白的
祝你好运
望采纳
J. MySQL数据库修改一列内容
高效方案:
那么能不能一条sql语句实现批量更新呢?
用CASE WHEN
mysql并没有提供直接的方法来实现批量更新,但是可以用点小技巧来实现。
UPDATE mytable SET
myfield = CASE id
WHEN 1 THEN 'value'
WHEN 2 THEN 'value'
WHEN 3 THEN 'value'
END
WHERE id IN (1,2,3)
这里使用了case when 这个小技巧来实现批量更新。