您的位置:首页 > 数据库 > MySQL

mysql 常用命令

2010-03-24 12:01 302 查看
1连接数据库: 进入mysql的安装路径bin如:C:>cd C:Program
FilesMySQLMySQL Server 5.0bin 输入用户名密码: C:Program
FilesMySQLMySQL Server 5.0bin>mysql -uroot -p1234562退出mysql
mysql>exit3. 修改密码:
C:Program FilesMySQLMySQL Server
5.0bin>mysqladmin -uroot -p123456 password 4561234.增加用户:
添加
一个用户test1 密码为ABC;让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,mysql>grant
select,insert,update,delete on *.* to test1@"%"
Identified by "abc";增加一个用户test2密码为abc,让其只可以在localhost上登录,并可以对数据库
mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即mysql数据库所在的那台主机),这样用户即使用知道test2的密码,
也无法从internet上直接访问数据库,只能通过mysql主机上的web页来访问了。mysql>grant
select,insert,update,delete on mydb.* to test2@localhost identified by "abc";增
加一个可以从任何地方连接服务器的一个完全的超级用户
mysql>grant all privileges on *.* to test3@"%" identified by 'abc' with grant
option;5.删除授权(与上面授权相对应)mysql>revoke
select,insert,update,delete on *.* from test1@"%"
;mysql>revoke select,insert,update,delete on mydb.* from test2@localhost;mysql>revoke
all privileges on *.* from test3@"%";6.
显示数据库
mysql>show databases;7.显示数据库中的表(exam数据库名)
mysql>use
exam;
mysql>show tables;8.显示表的结构(db_testtemp表名)
mysql>describe
db_testtemp;9.建库
mysql>create database 库名;10.建表
mysql>use
test;
mysql>create table teacher(id int(3) auto_increment
not null primary key,name char(10) not null,address
varchar(50) default 'beijing',year date);或者school.sql
的内容use exam;
create table teacher( id int(3)
auto_increment not null primary key,name char(10) not null,address
varchar(50) default 'beijing',year date);把文件
school.sql放到c:下,并在DOS状态进入目录C:>cd C:Program FilesMySQLMySQL Server
5.0bin
然后C:Program FilesMySQLMySQL Server 5.0bin>mysql -uroot
-p456123 < c:school.sql
如果成功,空出一行无任何显示;如有错误,会有提示。11.删除库
mysql>drop
database test;和删除表mysql>use exam;
mysql>drop
table teacher;14.表重命名
mysql>alter table teacher rename
student;15. 备份数据库(生成的exam.sql放在目录C:Program FilesMySQLMySQL Server
5.0bin下)
C:Program FilesMySQLMySQL Server 5.0bin>mysqldump
-hlocalhost -uroot -pncae2010 exam > exam.sql16.
恢复数据库(localhost不能用本机IP代替)
C:Program FilesMySQLMySQL Server
5.0bin>mysql -hlocalhost -uroot -pncae2010 exam < exam.sql17.
复制数据库(把所有的数据库备份到目录C:Program FilesMySQLMySQL Server
5.0bin下的all-databases.sql文件中)
C:Program FilesMySQLMySQL Server
5.0bin>mysqldump -hlocalhost -uroot -pncae2010 --all-databases >
all-databases.sql18.备份表(生成的student.sql放在目录C:Program
FilesMySQLMySQL Server 5.0bin下)
C:Program FilesMySQLMySQL
Server 5.0bin>mysqldump -hlocalhost -uroot -pncae2010 exam student
> student.sql 19.恢复表(操作前先把原来的表删除)
C:Program
FilesMySQLMySQL Server 5.0bin>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 不管是否遇到错误?
-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
s('','glchengang','深圳一中','1976-10-10');
修改记录:update mytable set
single=′y′ where name=′abccs′;
删除记录:delete from mytable where
name=′abc′;出现: mysql 的提示符,此时已进入mysql的交互操作方式。
3、退出MySQL操作界面

mysql>提示符下输入quit可以随时退出交互操作界面:
mysql> quit
Bye
你也可以用
control-D退出。 4、第一条命令
mysql> select
version(),current_date();
+----------------+-----------------+
|
version() | current_date() |
+----------------+-----------------+
|
3.23.25a-debug | 2001-05-17 |
+----------------+-----------------+
1
row in set (0.01 sec)
mysql>
此命令要求mysql服务器告诉你它的版本号和当前日期。尝试用不
同大小写操作上述命令,看结果如何。结果说明mysql命令的大小写结果是一致的。
练习如下操作:
mysql>Select
(20+5)*4;
mysql>Select (20+5)*4,sin(pi()/3);
mysql>Select
(20+5)*4 AS Result,sin(pi()/3); (AS: 指定假名为Result)

<B>5、多行语句</B>
一条命令可以分成多行输入,直到出现分号“;”为止:
<ccid_nobr>

<table width="400" border="1" cellspacing="0" cellpadding="2"
bordercolorlight
= "black" bordercolordark = "#FFFFFF" align="center">
<tr>

<td bgcolor="e6e6e6" class="code" style="font-size:9pt">
<pre><ccid_code>
mysql> select
-> USER()
-> ,
-> now()
->;

+--------------------+---------------------+
| USER() | now() |

+--------------------+---------------------+
| ODBC@localhost | 2001-05-1:59:15 |
+--------------------+---------------------+

1 row in set (0.06 sec)
mysql>
注意中间的逗号和最后的分号的使用方法。 6、
一行多命令
输入如下命令:
mysql> SELECT USER(); SELECT NOW();
+------------------+

| USER() |
+------------------+
| ODBC@localhost |
+------------------+

1 row in set (0.00 sec)
+---------------------+
| NOW() |
+---------------------+

| 2001-05-17 23:06:15 |
+---------------------+
1 row in
set (0.00 sec)
mysql>
注意中间的分号,命令之间用分号隔开。 7、显示当前存在的数据库
mysql>
show databases;
+----------+
| Database |
+----------+
|
mysql |
| test |
+----------+
2 row in set (0.06 sec)
mysql>
8、选择数据库并显示当前选择的数据库
mysql> USE mysql
Database changed
mysql>

(USE 和 QUIT 命令不需要分号结束。)
mysql> select database();
+---------------+

| database() |
+---------------+
| mysql |
+---------------+

1 row in set (0.00 sec) 9、显示当前数据库中存在的表
mysql> SHOW
TABLES; 10、显示表(db)的内容
mysql>select * from db; 11、命令
的取消
当命令输入错误而又无法改变(多行语句情形)时,只要在分号出现前就可以用 c来取消该条命令 mysql>
select
-> user()
-> c
mysql>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  命令 职场 mysql