MYSQL常用命令

来源:互联网 发布:网页编程培训 编辑:程序博客网 时间:2024/05/28 04:52
    感谢原文作者一顽石一君的整理,感觉不错很全,我就直接拿来用一下了!原文链接

1.导出整个数据库

mysqldump -u 用户名-p --default-character-set=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1)
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql


2.导出一个表

mysqldump -u用户名-p数据库名 表名>导出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql


3.导出一个数据库结构

mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
-d 没有数据–add-drop-table 在每个create语句之前增加一个drop table


4.导入数据库

A:常用source 命令
进入mysql数据库控制台,
如mysql -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source wcnc_db.sql

B:使用mysqldump命令

mysqldump -u username -p dbname < filename.sql

C:使用mysql命令

mysql -u username -p -D dbname < filename.sql

一、启动与退出


1、进入MySQL:启动MySQL Command Line Client(MySQL的DOS界面),直接输入安装时的密码即可。此时的提示符是:mysql>
2、退出MySQL:quit或exit


二、库操作


1、创建数据库
命令:
create database <数据库名>
例子:
建立一个名为xhkdb的数据库
mysql> create database xhkdb; 

2、显示所有的数据库
命令:
show databases(注意:最后有个s)
例子:
mysql> show databases;
3、删除数据库
命令:
drop database<数据库名>
例子:
删除名为 xhkdb的数据库
mysql> drop database xhkdb;

4、连接数据库
命令:
use <数据库名>
例子:
如果xhkdb数据库存在,尝试存取它:
mysql> use xhkdb;
屏幕提示:Database changed

5、查看当前使用的数据库
命令:
mysql> select database();

6、当前数据库包含的表信息:

命令:
mysql> show tables;(注意:最后有个s)


三、表操作,操作之前应连接某个数据库


1、建表
命令:
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));

2、获取表结构
命令:

desc 表名;,或者show columns from 表名;

例子:

mysql>DESCRIBE MyClass
mysql> desc MyClass; 
mysql> show columns from MyClass;

3、删除表
命令:

drop table <表名>
例子:

删除表名为 MyClass 的表
mysql> drop table MyClass;

4、插入数据
命令:

insert into <表名> [( <字段名1>[,..<字段名n > ])]values ( 值1 )[, ( 值n )];
例如,往表 MyClass中插入二条记录, 这二条记录表示:编号为1的名为Tom的成绩为96.45, 编号为2 的名为Joan 的成绩为82.99,编号为3 的名为Wang 的成绩为96.5.
mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);

5、查询表中的数据
命令:

select<字段1,字段2,...>from< 表名 >where < 表达式 >;

1)、查询所有行
例子:

查看表 MyClass 中所有数据
mysql> select * from MyClass;

2)、查询前几行数据
例子:

查看表 MyClass 中前2行数据
mysql> select * from MyClass order by id limit 0,2;

或者:

mysql> select * from MyClass limit 0,2;
6、删除表中数据
命令:

delete from 表名where 表达式
例子:

删除表 MyClass中编号为1 的记录
mysql> delete from MyClass where id=1;

7、修改表中数据

命令:

update 表名set字段=新值,… where条件
例子:

mysql> update MyClass set name='Mary' where id=1;
8、在表中增加字段:

命令:

alter table 表名add字段 类型 其他; 
例子:

在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0 
mysql> alter table MyClass add passtest int(4) default '0'

9、更改表名:
命令:

rename table 原表名to 新表名; 
例子:

在表MyClass名字更改为YouClass 
mysql> rename table MyClass to YouClass;

四、字段类型


1.INT[(M)] 型: 正常大小整数类型 
2.DOUBLE[(M,D)] [ZEROFILL] 型: 正常大小(双精密)浮点数字类型 
3.DATE 日期类型:支持的范围是1000-01-01到9999-12-31。MySQL以YYYY-MM-DD格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列 
4.CHAR(M) 型:定长字符串类型,当存储时,总是是用空格填满右边到指定的长度 
5.BLOB TEXT类型,最大长度为65535(2^16-1)个字符。 
6.VARCHAR型:变长字符串类型


五、权限配置


在进行开发和实际应用中,用户不应该只用root用户进行连接数据库,虽然使用root用户进行测试时很方便,但会给系统带来重大安全隐患,也不利于管理技术的提高。我们给一个应用中使用的用户赋予最恰当的数据库权限。如一个只进行数据插入的用户不应赋予其删除数据的权限。MySql的用户管理是通过 User表来实现的,添加新用户常用的方法有两个,一是在User表插入相应的数据行,同时设置相应的权限;二是通过GRANT命令创建具有某种权限的用户。其中GRANT的常用用法如下:

grant [Permission] on [*].[*] to [User] identified by "password";

若要给此用户赋予他在相应对象上的权限的管理能力,可在GRANT后面添加WITH GRANT OPTION选项。而对于用插入User表添加的用户,Password字段应用PASSWORD 函数进行更新加密,以防不轨之人窃看密码。对于那些已经不用的用户应给予清除,权限过界的用户应及时回收权限,回收权限可以通过更新User表相应字段,也可以使用REVOKE操作。
下面给出本人从其它资料(www.cn-java.com)获得的对常用权限的解释:


全局管理权限:
FILE: 在MySQL服务器上读写文件。
PROCESS: 显示或杀死属于其它用户的服务线程。
RELOAD: 重载访问控制表,刷新日志等。
SHUTDOWN: 关闭MySQL服务。
数据库/数据表/数据列权限:
Alter: 修改已存在的数据表(例如增加/删除列)和索引。
Create: 建立新的数据库或数据表。
Delete: 删除表的记录。
Drop: 删除数据表或数据库。
INDEX: 建立或删除索引。
Insert: 增加表的记录。
Select: 显示/搜索表的记录。
Update: 修改表中已存在的记录。
特别的权限:
ALL: 允许做任何事(和root一样)。
USAGE: 只允许登录--其它什么也不允许做。