MySql命令行基本操作

在MySQL中的命令要以分号结尾

1.连接数据库

格式:mysql -h主机地址 -u用户名 -p用户密码

1、例1:连接到本机上的MYSQL。
首先在打开DOS窗口,然后进入目录mysqlbin,再键入命令mysql-uroot-p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>试验成功
由于无密码,用mysql–uroot亦可
2、例2:连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
mysql -h110.110.110.110 -uroot -pabcd123
(注:u与root可以不用加空格,其它也一样)

3、连接时指定编码方式:
mysql -u用户名 -p用户密码 --default-character-setgb2312

4、退出MYSQL命令:exit(回车)

MySql命令行基本操作

2.修改密码

格式:mysqladmin -u用户名 -p旧密码  password 新密码   

1、例1:将root密码改为321(原始密码123)  mysqladmin -uroot -p123 password 321
2、例2:再将root的密码改为123。    
 mysqladmin -uroot -p321 password 123

MySql命令行基本操作

3.添加用户

格式:grant select on 数据库.* to 用户名@登录主机 identifiedby"密码"
例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:
grant select,insert,update,delete on *.* to test1@“%” Identified by “abc”;

    详细分析:http://www.cnblogs.com/zhenmingliu/archive/2012/05/25/2518691.html 

4.操作技巧

1、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了。也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就OK。
2、你可以使用光标上下键调出以前的命令。

5.显示数据库列表

刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息

MySql命令行基本操作

6.显示数据库中的表(tables)

usemysql;
showtables;

MySql命令行基本操作

7.显示数据表结构

describe表名;

MySql命令行基本操作

8.创建数据库

create database 数据库名;

MySql命令行基本操作

9.创建数据库中的表

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

MySql命令行基本操作

可使用复合索引在同一个数据表里创建多个相互独立的自增序列,具体做法是这样的:为数据表创建一个由多个数据列组成的PRIMARY KEY OR UNIQUE索引,并把AUTO_INCREMENT数据列包括在这个索引里作为它的最后一个数据列。这样,这个复合索引里,前面的那些数据列每构成一种独一无二的组合,最末尾的AUTO_INCREMENT数据列就会生成一个与该组合相对应的序列编号。
    我们经常要用到唯一编号,以标识记录。在MySQL中可通过数据列的AUTO_INCREMENT属性来自动生成。MySQL支持多种数据表,每种数据表的自增属性都有差异,这里将介绍各种数据表里的数据列自增属性。
1 用法:
CREATE TABLE test
(
id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(15) NOT NULL
)AUTO_INCREMENT = 100;
 
可在建表时可用“AUTO_INCREMENT=n”选项来指定一个自增的初始值。
可用alter table table_name AUTO_INCREMENT=n命令来重设自增的起始值。
 

说明:
(1)如果把一个NULL插入到一个AUTO_INCREMENT数据列里去,MySQL将自动生成下一个序列编号。编号从1开始,并1为基数递增。
(2)把0插入AUTO_INCREMENT数据列的效果与插入NULL值一样。但不建议这样做,还是以插入NULL值为好。
(3)当插入记录时,没有为AUTO_INCREMENT明确指定值,则等同插入NULL值。
(4)当插入记录时,如果为AUTO_INCREMENT数据列明确指定了一个数值,则会出现两种情况,情况一,如果插入的值与已有的编号重复,则会出现出错信息,因为AUTO_INCREMENT数据列的值必须是唯一的;情况二,如果插入的值大于已编号的值,则会把该插入到数据列中,并使在下一个编号将从这个新值开始递增。也就是说,可以跳过一些编号。
(5)如果用UPDATE命令更新自增列,如果列值与已有的值重复,则会出错。如果大于已有值,则下一个编号从该值开始递增。

10.删除数据库和表

drop database 库名;
drop table 表名;

11.清空表中记录

delete from 表名;

12.向表中插入数据

insert into 表名 values(各个字段的值);

MySql命令行基本操作

调用deccribe看看我们新建的表结构:

MySql命令行基本操作

13.显示表中记录

select * from 表名;

MySql命令行基本操作

14.将文本数据转到数据库中

文本数据应符合的格式:字段数据之间用tab键隔开,null值用n来代替.  例:  
3 rose 深圳二中 1976-10-10  
4 mike 深圳一中 1975-12-23
数据传入命令 load data local infile "文件的绝对路径" into table 表名;  
注意:你最好将文件复制到mysqlbin目录下,并且要先用use命令打表所在的库。

 e://file.txt   或者   e:\\file.txt(注意:e:\file.txt是错的。)


15. 备份数据库

备注:命令在DOS的mysqlbin目录下执行 
  mysqldump --opt school>school.bbb  
注释:将数据库school备份到school.bbb文件,school.bbb是一个文本文件,文件名任取,打开看看你会有新发现。

相关推荐