mysql常用命令

1、查看用户权限:

 

show grants for tour;

 

2、执行sql文件,指定编码

mysql --default-character-set=utf8 -h 127.0.0.1 -u username -P port -p < init-data.sql

 

3、修改用户密码:

SET PASSWORD FOR
    -> 'jeffrey'@'localhost' = PASSWORD('mypass');
4、创建用户
grant all on tour.* to 'tour'@'localhost' identified by 'abc';

1连接数据库:
进入mysql的安装路径bin如:C:>cd C:Program FilesMySQLMySQL Server 5.0bin
输入用户名密码: C:Program FilesMySQLMySQL Server 5.0bin>mysql -uroot -p123456
2退出mysql
mysql>exit
3. 修改密码:
C:Program FilesMySQLMySQL Server 5.0bin>mysqladmin -uroot -p123456 password 456123
4.增加用户:
添加一个用户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.sql
16. 恢复数据库(localhost不能用本机IP代替)
C:Program FilesMySQLMySQL Server 5.0bin>mysql -hlocalhost -uroot -pncae2010 exam < exam.sql
17.复制数据库(把所有的数据库备份到目录C:Program FilesMySQLMySQL Server 5.0bin下的all-databases.sql文件中)
C:Program FilesMySQLMySQL Server 5.0bin>mysqldump -hlocalhost -uroot -pncae2010 --all-databases > all-databases.sql
18.备份表(生成的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。

你可能感兴趣的:(mysql)