MySql命令实例汇总 |
本文标签:MySql命令 本文实例总结了MySQL常用的各种操作命令 。分享给大家供大家参考,具体如下: Mysql安装目录 数据库目录 /var/lib/mysql/ 配置文件 /usr/share/mysql(mysql.server命令及配置文件) 相关命令 /usr/bin(mysqladmin mysqldump等命令) 启动脚本 /etc/init.d/mysql(启动脚本文件mysql的目录) 系统管理 连接MySQL 格式: mysql -h 主机地址 -u用户名 -p用户密码 例 1:连接到本机上的 MySQL 。 复制代码 代码如下: hadoop@ubuntu:'$ mysql -uroot -pmysql;
例 2:连接到远程主机上的 MYSQL 。 复制代码 代码如下: hadoop@ubuntu:'$ mysql -h 127.0.0.1 -uroot -pmysql;
修改新密码 在终端输入:mysql -u用户名 -p密码,回车进入Mysql 。 > use mysql; > update user set password=PASSWORD(新密码) where user=用户名; > flush privileges; #更新权限 > quit; #退出 增加新用户 格式:grant select on 数据库.* to 用户名@登录主机 identified by 密码 举例: 例 1:增加一个用户 test1 密码为 abc,让他可以在任何主机上登录,并对所有数据库有 复制代码 代码如下: mysql>grant select,insert,update,delete on *.* to root@localhost identified by mysql; 或者 复制代码 代码如下: grant all privileges on *.* to root@localhost identified by mysql; 然后刷新权限设置 。 复制代码 代码如下: flush privileges;
例 2:如果你不想 root 有密码操作数据库"mydb"里的数据表,可以再打一个命令将密码消掉 。 复制代码 代码如下: grant select,insert,update,delete on mydb.* to root@localhost identified by ;
删除用户 hadoop@ubuntu:'$ mysql -u用户名 -p密码 mysql>delete from user where user=用户名 and host=localhost; mysql>flush privileges; //删除用户的数据库 mysql>drop database dbname; 数据库操作 显示所有的数据库 复制代码 代码如下: mysql> show databases; (注意:最后有个 s)
创建数据库 复制代码 代码如下: mysql> create database test;
连接数据库 复制代码 代码如下: mysql> use test;
查看当前使用的数据库 复制代码 代码如下: mysql> select database();
当前数据库包含的表信息 复制代码 代码如下: mysql> show tables; (注意:最后有个 s)
删除数据库 复制代码 代码如下: mysql> drop database test;
表操作 备注:操作之前使用"use <数据库名>"应连接某个数据库 。 建表 命令:create table <表名> (<字段名 1> <类型 1> [,..<字段名 n> <类型 n>]); 例子: mysql> create table MyClass( > id int(4) not null primary key auto_increment, > name char(20) not null, > sex int(4) not null default 0, > degree double(16,2)); 获取表结构 命令: desc 表名,或者show columns from 表名 例子: mysql> describe MyClass mysql> desc MyClass; mysql> show columns from MyClass; 删除表 命令:drop table <表名> 例如:删除表名为 MyClass 的表 复制代码 代码如下: mysql> drop table MyClass;
插入数据 命令:insert into <表名> [( <字段名 1>[,..<字段名 n > ])] values ( 值 1 )[, ( 值 n )] 复制代码 代码如下: mysql> insert into MyClass values(1,Tom,96.45),(2,Joan,82.99), (2,Wang, 96.59);
查询表中的数据 查询所有行 复制代码 代码如下: mysql> select * from MyClass;
查询前几行数据 例如:查看表 MyClass 中前 2 行数据 复制代码 代码如下: mysql> select * from MyClass order by id limit 0,2; 或者 复制代码 代码如下: mysql> select * from MyClass limit 0,2;
删除表中数据 命令:delete from 表名 where 表达式 例如:删除表 MyClass 中编号为 1 的记录 复制代码 代码如下: mysql> delete from MyClass where id=1;
修改表中数据 命令:update 表名 set 字段=新值,... where 条件 复制代码 代码如下: mysql> update MyClass set name=Mary where id=1;
在表中增加字段 命令:alter table 表名 add 字段 类型 其他; 例如:在表 MyClass 中添加了一个字段 passtest,类型为 int(4),默认值为 0 复制代码 代码如下: mysql> alter table MyClass add passtest int(4) default 0
更改表名 命令:rename table 原表名 to 新表名; 例如:在表 MyClass 名字更改为 YouClass 复制代码 代码如下: mysql> rename table MyClass to YouClass;
更新字段内容 命令:update 表名 set 字段名 = 新内容 update 表名 set 字段名 = replace(字段名, 旧内容, 新内容); 例如:文章前面加入 4 个空格 复制代码 代码如下: update article set content=concat( , content);
数据库导入导出 从数据库导出数据库文件 使用"mysqldump"命令 首先进入 DOS 界面,然后进行下面操作 。 1)导出所有数据库 格式:mysqldump -u [数据库用户名] -p -A>[备份文件的保存路径] 2)导出数据和数据结构 格式:mysqldump -u [数据库用户名] -p [要备份的数据库名称]>[备份文件的保存路径] 举例: 例 1:将数据库 mydb 导出到 e:\MySQL\mydb.sql 文件中 。 打开开始->运行->输入"cmd",进入命令行模式 。 复制代码 代码如下: c:\> mysqldump -h localhost -u root -p mydb >e:\MySQL\mydb.sql 然后输入密码,等待一会导出就成功了,可以到目标文件中检查是否成功 。 例 2:将数据库 mydb 中的 mytable 导出到 e:\MySQL\mytable.sql 文件中 。 复制代码 代码如下: c:\> mysqldump -h localhost -u root -p mydb mytable>e:\MySQL\mytable.sql
例 3:将数据库 mydb 的结构导出到 e:\MySQL\mydb_stru.sql 文件中 。 复制代码 代码如下: c:\> mysqldump -h localhost -u root -p mydb --add-drop-table >e:\MySQL\mydb_stru.sql 备注:-h localhost 可以省略,其一般在虚拟主机上用 。 3)只导出数据不导出数据结构 格式: mysqldump -u [数据库用户名] -p -t [要备份的数据库名称]>[备份文件的保存路径] 4)导出数据库中的Events 格式: mysqldump -u [数据库用户名] -p -E [数据库用户名]>[备份文件的保存路径] 5)导出数据库中的存储过程和函数 格式: mysqldump -u [数据库用户名] -p -R [数据库用户名]>[备份文件的保存路径] 从外部文件导入数据库中 1)使用"source"命令 首先进入"mysql"命令控制台,然后创建数据库,然后使用该数据库 。最后执行下面操作 。 mysql>source [备份文件的保存路径] 2)使用"<"符号 首先进入"mysql"命令控制台,然后创建数据库,然后退出 MySQL,进入 DOS 界面 。最后执行下面操作 。 mysql -u root –p < [备份文件的保存路径] 常用MySQL语句补充: 1. 使用SHOW语句找出在服务器上当前存在什么数据库: 复制代码 代码如下: mysql> SHOW DATABASES; 2. 2、创建一个数据库MYSQLDATA 复制代码 代码如下: mysql> CREATE DATABASE MYSQLDATA; 3. 选择你所创建的数据库 复制代码 代码如下: mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)4. 查看现在的数据库中存在什么表 复制代码 代码如下: mysql> SHOW TABLES; 5. 创建一个数据库表 复制代码 代码如下: mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1)); 6. 显示表的结构: 复制代码 代码如下: mysql> DESCRIBE MYTABLE; 7. 往表中加入记录 复制代码 代码如下: mysql> insert into MYTABLE values ("hyq","M"); 8. 用文本方式将数据装入数据库表中(例如D:/mysql.txt) 复制代码 代码如下: mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE; 9. 导入.sql文件命令(例如D:/mysql.sql) 复制代码 代码如下: mysql>use database; mysql>source d:/mysql.sql; 10. 删除表 复制代码 代码如下: mysql>drop TABLE MYTABLE; 11. 清空表 复制代码 代码如下: mysql>delete from MYTABLE; 12. 更新表中数据 复制代码 代码如下: mysql>update MYTABLE set sex="f" where name=hyq;
以下是在网络看到的使用MySql的管理心得: 在windows中MySql以服务形式存在,在使用前应确保此服务已经启动,未启动可用net start mysql命令启动 。而Linux中启动时可用"/etc/rc.d/init.d/mysqld start"命令,注意启动者应具有管理员权限 。 刚安装好的MySql包含一个含空密码的root帐户和一个匿名帐户,这是很大的安全隐患,对于一些重要的应用我们应将安全性尽可能提高,在这里应把匿名帐户删除、 root帐户设置密码,可用如下命令进行: use mysql; delete from User where User=""; update User set Password=PASSWORD(newpassword) where User=root; 如果要对用户所用的登录终端进行限制,可以更新User表中相应用户的Host字段,在进行了以上更改后应重新启动数据库服务,此时登录时可用如下类似命令: mysql -uroot -p; mysql -uroot -pnewpassword; mysql mydb -uroot -p; mysql mydb -uroot -pnewpassword; 上面命令参数是常用参数的一部分,详细情况可参考文档 。此处的mydb是要登录的数据库的名称 。 在进行开发和实际应用中,用户不应该只用root用户进行连接数据库,虽然使用root用户进行测试时很方便,但会给系统带来重大安全隐患,也不利于管理技 术的提高 。我们给一个应用中使用的用户赋予最恰当的数据库权限 。如一个只进行数据插入的用户不应赋予其删除数据的权限 。MySql的用户管理是通过 User表来实现的,添加新用户常用的方法有两个,一是在User表插入相应的数据行,同时设置相应的权限;二是通过GRANT命令创建具有某种权限的用 户 。其中GRANT的常用用法如下: grant all on mydb.* to NewUserName@HostName identified by "password" ; grant usage on *.* to NewUserName@HostName identified by "password"; grant select,insert,update on mydb.* to NewUserName@HostName identified by "password"; grant update,delete on mydb.TestTable to NewUserName@HostName identified by "password"; 若要给此用户赋予他在相应对象上的权限的管理能力,可在GRANT后面添加WITH GRANT OPTION选项 。而对于用插入User表添加的用户,Password字段应用PASSWORD 函数进行更新加密,以防不轨之人窃看密码 。对于那些已经不用的用户应给予清除,权限过界的用户应及时回收权限,回收权限可以通过更新User表相应字段, 也可以使用REVOKE操作 。 下面给出本人从其它资料(www.cn-java.com)获得的对常用权限的解释: 全局管理权限: FILE: 在MySQL服务器上读写文件 。 希望本文所述对大家MySQL数据库设计有所帮助 。 |