一、连接MYSQL。 

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

1、例1:连接到本机上的MYSQL。 
开始——所有程序——MySQL Server5.0——MySQL Command Line Client,系统会提示你输入密码,此时输入你

安装MySQL时设定的密码即可进入MySQL环境。MYSQL的提示符是:mysql>

2、例2:连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123

。则键入以下命令: 

mysql -h110.110.110.110 -uroot -pabcd123 

(注:u与root可以不用加空格,其它也一样) 

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

二、修改密码。 

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

1、例1:给root加个密码ab12。首先在DOS下进入目录mysqlbin,然后键入以下命令 

mysqladmin -uroot -password ab12 

注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。 

2、例2:再将root的密码改为djg345。 

mysqladmin -uroot -pab12 password djg345 

三、增加新用户。(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结

束符) 

格式:grant select on 数据库.* to 用户名@登录主机 identified by '密码' 

例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除

的权限。首先用以root用户连入MYSQL,然后键入以下命令: 

grant select,insert,update,delete on *.* to test1@"%" Identified by 'abc'; 

但例1增加的用户是十分危险的,如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登

录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。 

例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修

改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码

,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。 

grant select,insert,update,delete on mydb.* to test2@localhost identified by 'abc'; 

如果你不想test2有密码,可以再打一个命令将密码消掉。 

grant select,insert,update,delete on mydb.* to test2@localhost identified by ''; 


MYSQL中有关数据库方面的操作。

一、操作技巧 

1、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了。也就是说你

可以把一个完整的命令分成几行来打,完后用分号作结束标志就OK。 

2、你可以使用光标上下键调出以前的命令。

二、显示命令 

1、mysql中的时间显示
select current_time(); --只显示当前时间
select currnet_date(); --只显示当前日期
select current_timestamp(); --显示当前的时间和日期

2、显示数据库列表:

show databases; 

刚开始时才两个数据库:mysql和test。mysql库很重要,它里面有MYSQL的系统d信息,我们改密码和新增用户

,实际上就是用这个库进行操作。 

3、显示库中的数据表: 

use mysql;

show tables; 

4、显示数据表的结构: 

describe 表名; 

5、建库: 

create database 库名; 

6、建表: 

use 库名; 

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

7、删库和删表: 

drop database 库名; 

drop table 表名; 

8、将表中记录清空: 

delete from 表名; 

9、显示表中的记录: 

select * from 表名; 

10、修改数据库的编码方式:

alter database 库名 character set utf8;

11、mysql脚本中的注释:

单行注释:--comments
多行注释:/*comments*/

三、创建表

       create table tb_test
 (
   id int primary key auto_increment,  --创建int类型的主键,且自增长
   name varchar(255) not null,   --创建字符类型的列,最大长度为255字节
   salary float(11,2),    --创建小数类型的列,小数点后两位
   birthday date,     --创建日期类型的字段,只保存日期
   sleep time,       --创建时间类型的字段 ,只保存时间
   ts timestamp,     --创建时间戳类型的列,保存日期和时间
   description text,    --创建大文本类型数据的列,保存大文本,长度不受限制
    picture blob     --创建二进制类型的列,保存二进制数据
 );

      创建临时表   --临时表是指创建后只在当前数据库内有效,断开与数据库的连接后表就自动删除
 create temporary table tb_temp
 (
    id integer,
    name varchar(100),
    primary key(id)
 );

四、修改表(删除列、增加列、修改列、修改表名)

alter table tableName drop name;    --删除tableName表中的name列

alter table tableName change name newName dataType;     --修改tableName表中的列

alter tableName add  name varchar(200) not null default 'helloword';  --向tableName表中添加name列

alter table tableName rename to newTableName ;  --修改表名

五、DML语句(select 、insert、update、delete)
select column1,column2…… from tableName;    --查询表tableName 中的column1、……数据

select * from tableName;    --查询表tableName中的所有字段信息

insert into tableName (column1,column2) values(value1,value2);   --向表tableName中插入column1、

column2字段数据

update tableName set column1=value1,column2=value2 where conditions;  --更新tableName表中符合

conditions条件的记录中的column1字段值为value1,column2字段值为value2

delete from tableName where conditions;   --删除tableName表中符合条件conditions的记录

delete from tableName;   --删除tableName表中的所有记录

六、创建、删除、授权用户
create user username1;   --创建用户usernname1

grant all privileges on DBName.* to username1@'% ' identified by 'password123' with grant option; 

 --授权用户username1仅能访问数据库DBName下的所有数据表,密码为password123

drop user username1; --删除用户username1


七、批量执行sql语句
(1)可以将sql语句写在一个sql格式的脚本文件中,使用批量的方式执行,脚本中的sql语句通过";"分隔,"--"

后是注释;
 使用命令source filename.sql 或反斜杠"\. filename.sql" 在控制台批量执行sql语句
(2) 在DOS的\\mysql\\bin目录下执行
mysql -h myhost -u root -p database < sql.txt (sql.txt中包含sql语句)

八、修改mysql用户密码(下面三种方式都通过验证)
 ①在cmd中执行如下命令即可
 mysqladmin -uroot -p password '你的新密码'
 eg. mysqladmin -u root -p password root  --将用户root的密码改为root,最后要求输入原密码。
 ②在mysql命令行中执行如下语句
 mysql>  SET PASSWORD FOR root@"localhost" = PASSWORD('mysql');
 ③直接在数据库中修改记录
 mysql> use mysql
 mysql> update user set password = password("new_password") where user = "user_name";
 mysql> flush privileges;

九、mysql出现乱码问题解决方案:

(1)修改 my.ini(MySQL Server Instance Configuration 文件)
# CLIENT SECTION
[client]
port=3306

[mysql]
default-character-set=gbk

# SERVER SECTION
[mysqld]
default-character-set=gbk

(2)修改data目录中相应数据库目录下的db.opt配置文件
default-character-set=gbk
default-collation=gbk_chinese_ci

(3)数据库连接串中指定字符集
URL=jdbc:mysql://yourIP/college?

user=root&password=yourPassword&useUnicode=true&characterEncoding=gbk 注:在mysql4.1.0版 要加

useUnicode=true&characterEncoding=gbk 如果是5.0版以上的,加不加都是没有关系的!(4)在创建数据库时

指定字符集
create database yourDB CHARACTER SET gbk;

(5)在dos命令上要设置
set names gbk
在创建数据库是请使用如下语句:
 create database dbName character gbk;

十、mysql自增字段设置
alter table album change ALBUM_ID ALBUM_ID bigint not null auto_increment;
alter table album auto_increment=1;

创建:
mysql>create table cc(id int auto_increment,name varchar(20),primary key(id));
修改:
mysql> alter table cc change id id int primary key auto_increment;

注:只有int类型且为primary key 才可以使用auto_increment.

如果用hibernate作为持久层,那么主键ID处用identity类型.

十一、将文本数据转到数据库中 

1、文本数据应符合的格式:字段数据之间用tab键隔开,null值用\\n来代替.(注:中文可能由于编码问题显示不出来或乱码) 

2、数据传入命令 load data local infile "文件名" into table 表名; 

注意:你最好将文件复制到\\mysql\\bin目录下,并且要先用use命令打开表所在的库。 

十二、备份数据库:(命令在DOS的\\mysql\\bin目录下执行) 
mysqldump --opt school>school.扩展名

注释:将数据库school备份到school.bbb文件,school是一个文本文件,文件名任取,打开看看你会有新发现。

十三、mysql的驱动名称及URL
DRIVER: com.mysql.jdbc.Driver
URL: jdbc:mysql://localhost:3306/DBNAME?useUnicode=true&characterEncoding=UTF-8
USERNAME: root 
PASSWORD: root

十四、mysql常用图形客户端
mysqlfront, mysqlyog, mysqlbrowser, ems mysql manager