王吉元-NWPU

导航

 

在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-set gb2312 

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

 

2.修改密码

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

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

2、例2:再将root的密码改为123。
mysqladmin -uroot -p321 password 123

 

3.添加用户

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

 

4.操作技巧

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

 

5.显示数据库列表

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

 

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

use mysql; 
show tables;

 

7.显示数据表结构

describe 表名; 

 

8.创建数据库

create database 数据库名;

 

9.创建数据库中的表

use 库名;  
create table 表名 (字段设定列表);

 

注:在建表中  
(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状态进入目录mysqlbin,然后键入以下命令:      mysql -uroot -p密码 < c:school.sql   如果成功,空出一行无任何显示;如有错误,会有提示。(以上命令已经调试,你只要将//的注释去掉即可使用)。

 

可使用复合索引在同一个数据表里创建多个相互独立的自增序列,具体做法是这样的:为数据表创建一个由多个数据列组成的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(各个字段的值);

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

 

13.显示表中记录

select * from 表名;

 

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

文本数据应符合的格式:字段数据之间用tab键隔开,null值用n来代替.  例:  
3 rose 深圳二中 1976-10-10  
4 mike 深圳一中 1975-12-23  

 

数据传入命令 load data local infile "文件名" into table 表名;  
注意:你最好将文件复制到mysqlbin目录下,并且要先用use命令打表所在的库。

 

  
15. 备份数据库

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

 

 

posted on 2013-12-06 11:39  王吉元  阅读(576)  评论(0编辑  收藏  举报