MySQL命令

原创 2011年01月08日 14:16:00

1. 连接mysql:
mysql -h 主机地址 -u 用户名 -p

2.退出mysql:exit

3. 修改密码:
mysqladmin -uroot -p(oldpassword) password newpassword

4.增加用户:
添加一个用户test1 密码为ABC;让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入

mysql,然后键入以下命令:grant select,insert,update,delete on *.* to test1@"%" Identified
by "abc";

增加一个用户test2密码为abc,让其只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地

主机,即mysql数据库所在的那台主机),这样用户即使用知道test2的密码,也无法从internet上直接访问数据库,只能通过mysql主机上的web页

来访问了。grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";

增加一个可以从任何地方连接服务器的一个完全的超级用户
grant all privileges on *.* to test3@"%" identified by 'password' with grant option;

5.删除授权
revoke select,insert,update,delete om *.* from test2@localhost ;

--------------------------------------------------------

6.显示数据库
show databases;

7.显示数据库中的表
use dataname;
show tables;

8.显示表的结构
describe tablesname;

9.建库
create database 库名;

10.建表
use dataname;
create table teacher //建立表TEACHER
(
id int(3) auto_increment not null primary key,
name char(10) not null,
address varchar(50) default '深圳',
year date
); //建表结束
//以下为插入字段
insert into teacher values('','glchengang','深圳一中','1976-10-10');
insert into teacher values('','jack','深圳一中','1975-12-23');

注:在建表中
(1) 将ID设为长度为3的数字字段:int(3),并让它每个记录自动加一: auto_increment,
并不能为空:not null,而且让它成为主字段primary key
(2) 将NAME设为长度为10的字符字段
(3) 将ADDRESS设为长度50的字符字段,而且缺省值为深圳。varchar和char有什么区别
呢,只有等以后的文章再说了。
(4) 将YEAR设为日期字段。
如果你在mysql提示符键入上面的命令也可以,但不方便调试。 你可以将以上命令
原样写入一个文本文件中假设为school.sql,然后复制到c:下,并在DOS状态进入目录
mysql in,然后键入以下命令:
mysql -uroot -p密码 < c:school.sql
如果成功,空出一行无任何显示;如有错误,会有提示。(以上命令已经调试,你
只要将//的注释去掉即可使用)。


11.删除库和删除表
drop dataname;
drop tablename;

12.将表中的记录清空
delete from tablename;

13.显示表中的记录
select * from tablename;

14.表重命名
alter table t1 rename t2


---------------------------------------------------------

15. 备份数据库
mysqldump -h(ip) -uroot -p(password) databasename > database.sql

16. 恢复数据库
mysql -h(ip) -uroot -p(password) databasename < database.sql

17.复制数据库
mysqldump --all-databases > all-databases.sal

18.备份表
mysqldump -h(ip) -uroot -p(password) databasename tablename > tablename.sql

19.恢复表(操作前先把原来的表删除)
mysql -h(ip) -uroot -p(password) databasename tablename < tablename.sql

----------------------------------------------------------

20.为了改变列a,从INTEGER改为TINYINT NOT NULL(名字一样),
并且改变列b,从CHAR(10)改为CHAR(20),同时重命名它,从b改为c:
ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20);

增加一个新TIMESTAMP列,名为d:
ALTER TABLE t2 ADD d TIMESTAMP;

在列d上增加一个索引,并且使列a为主键:
ALTER TABLE t2 ADD INDEX (d), ADD PRIMARY KEY (a);

删除列c:
ALTER TABLE t2 DROP COLUMN c;

增加一个新的AUTO_INCREMENT整数列,命名为c:
ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT,ADD INDEX (c);
注意,我们索引了c,因为AUTO_INCREMENT柱必须被索引,并且另外我们声明c为NOT NULL,
因为索引了的列不能是NULL

---------------------------------------------------------------

21.数据的导入导出
A。mysqlimport
语法:mysqlbinmysqlimport database tables.txt( 文件名需要与表名相同)
参数:-d or --delete 新数据导入数据表中之前删除数据数据表中的所有信息;
-f or --force 不管是否遇到错误,mysqlimport将强制继续插入数据;
-i or --ignore mysqlimport跳过或者忽略那些有相同唯一关键字的行, 导入文件中的数据将被忽略;
-l or -lock-tables 数据被插入之前锁住表,这样就防止了, 你在更新数据库时,用户的查询和更新受到影响;
--fields-enclosed- by= char
  指定文本文件中数据的记录时以什么括起的, 很多情况下数据以双引号括起。 默认的情况下数据是没有被字符括起的。
  --fields-terminated- by=char
  指定各个数据的值之间的分隔符,在句号分隔的文件中,分隔符是句号。您可以用此选项指定数据之间的分隔符。默认的分隔符是跳格符

(Tab)
  --lines-terminated- by=str
  此选项指定文本文件中行与行之间数据的分隔字符串 或者字符。 默认的情况下mysqlimport以newline为行分隔符。 您可以选择用一个字

符串来替代一个单个的字符: 一个新行或者一个回车。
  mysqlimport命令常用的选项还有-v 显示版本(version), -p 提示输入密码(password)等。

--------------------------------------------------------------

22.常用插入、修改、删除语句
插入记录:insert into teacher values('','glchengang','深圳一中','1976-10-10');
修改记录:update mytable set single=′y′ where name=′abccs′;
删除记录:delete from mytable where name=′abc′;

linux下mysql命令无法执行的原因

由于linux默认执行/usr/bin/下的命令文件,新安装的mysql没有拷贝mysql执行命令文件到/usr/bin下,所以需要手工做一个链接到/usr/bin/下就可以了 ln -s /a...
  • hiw
  • hiw
  • 2016年02月17日 12:48
  • 904

mysql命令

mysql命令 关键字:   mysql命令     use mysql;   //打开库,学过FOXBASE的一定不会陌生吧 ...
  • SmartTony
  • SmartTony
  • 2007年01月09日 18:36
  • 753

MySql命令

use [LIKE wild];show tables;show databases;?/help;exit/quit;mysqladmin version;mysql mysqladmin ver...
  • onlysql
  • onlysql
  • 2006年04月01日 21:47
  • 567

MySQL命令

MySQL命令集:1.创建表 表是数据库的最基本元素之一,表与表之间可以相互独立,也可以相互关联。创建表的基本语法如下: create table table_name (column_na...
  • u011886490
  • u011886490
  • 2013年08月30日 14:45
  • 268

MYSQL命令

1.mysql服务的启动和停止net stop mysqlnet start mysql2.登陆mysql语法如下: mysql -u用户名 -p用户密码键入命令mysql -uroot -p, 回车...
  • yujiaCN
  • yujiaCN
  • 2008年04月24日 13:49
  • 601

Mysql命令

use [LIKE wild];show tables;show databases;?/help;exit/quit;mysqladmin version;mysql mysqladmin ver...
  • andyhuaxiong
  • andyhuaxiong
  • 2005年04月30日 01:43
  • 1027

mySql命令

自来:http://www.cnblogs.com/hateislove214/archive/2010/11/05/1869889.html 1. 显示所有数据库 show database; ...
  • cs_lht
  • cs_lht
  • 2011年12月15日 14:18
  • 331

mysql命令

1.mysql 怎么查看自己的用户名 select user(); 2.mysql 如何更改root密码 mysqladmin -u USER -p password PASSWORD 该命令...
  • a771948524
  • a771948524
  • 2013年11月19日 18:04
  • 867

php 执行 shell 命令 更新 mysql 到 es

#!/bin/sh # DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # bin=${DIR}/../bin # lib=${DI...
  • u014017121
  • u014017121
  • 2016年08月04日 15:54
  • 221

mySQL命令

停止mySQL net stop wampmysqld(mySQL名) 开启mySQL net start wampmysqld(mySQL名) 用管理者来关闭mysql mysqladmin -ur...
  • zhaoliang831214
  • zhaoliang831214
  • 2014年10月08日 10:50
  • 326
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MySQL命令
举报原因:
原因补充:

(最多只允许输入30个字)