MySQL安装、配置、使用及JDBC链接
MySQL安装、配置、使用及JDBC链接
URL: http://dev.mysql.com/downloads/mysql/5.5.html#downloads选择No thanks, juststart my download.
mysql-5.5.36-win32.msi 33.7M
mysql-5.5.36-winx64.msi 35.3M
Navicat V8.2.12ForMySQL使用:
1. 点击连接,输入自定义的连接名和root账号的密码,建立了连接。
2. 打开连接,后就可以对表和视图等进行操作,非常方便。
注意:
1. 如何本地安装,只需要选Development的低连接数就可以了,少占内存,安装的时候顺便配下密码。
2. 安装好了MySQL之后,最好再安装一个MySQL的插件
Navicat V8.2.12ForMySQL,可视化,界面友好,是非常好的管理工具。
使用:
1. 安装好后,可以在启动栏看到MySQL 5.5 Command Line Client
2. 点击后输入密码,后即可进入工作模式,或在运行栏输入
mysql –uroot –p 再输入密码也可。
mysql>
注意:
1) 连接远端主机命令: mysql –h主机地址 –u用户名 –p地址
假设主机:192.168.0.1 user: root pwd:1234
则命令: mysql –h198.168.0.1 –uroot –p1234
2) 此处可用空格,可不用,所以又可以写成
Mysql –h 192.168.0.1 –u root –p 1234
3. 退出
exit
修改密码:
1. 增加新密码:Dos进入mysql/bin目录下, 执行下面命令:
mysqladmin-u root –p1234 //à1234为新增加的密码.
2. 修改密码:
mysqladmin -u root–p1234 password abcd //à新密码:abcd
用户管理:
格式: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、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
grant select,insert,update,delete on mydb.* to test2@localhostidentified by "abc";
如果你不想test2有密码,可以再打一个命令将密码消掉。
grant select,insert,update,delete on mydb.* to test2@localhostidentified by "";
常用命令:
1. 显示数据库列表
mysql>show databases;
+--------------------+
Database |
+--------------------+
information_schema |
mysql |
performance_schema |
test |
+--------------------+
4 rows in set (0.05 sec)
2. 使用某个数据库.
mysql> use mysql; //àmysql自带数据库
mysql> show tables; //à看多少表
+---------------------------+
Tables_in_mysql |
+---------------------------+
columns_priv |
db |
plugin |
+---------------------------+
3 rows in set (0.25 sec)
3. 显示表结构
mysql> desc proc;
+----------------------+-----------------------------
Field | Type
+----------------------+-----------------------------
db | char(64)
name | char(64)
+----------------------+-----------------------------
2 rows in set (0.21 sec)
4. 建库
mysql> create database school; //àschool 数据库名
drop database if exists school; //à存在则删除;
5. 建表
mysql> use school; //à打开库.对表操作必须先选数据库
mysql>
create tableteacher
(
id int(3)auto_increment not null primary key,
name char(10) notnull,
addressvarchar(50) default 'ChengDu',
year date
);
6. 删库|删表
mysql> drop database school;
mysql> drop table teacher;
7. 插入|更新
insert into teacher values(001,'Wang','BJ','1988-10-10');
insert into teachervalues(002,'Jiang','SH','1999-10-10');
update teacher set address=’CD’ wherename=’Wang’
8. 删除|查询
mysql> delete * from teacher wherename='Jiang';
mysql> select * from teacher; //à语句以分号结束
9. 显示行数|列数
select count(*) from teacher;
select sum(*) from teacher;
注意:如果命令很多,DOS进入mysql/bin下面执行
mysql -u root -pabcd
例如: 拿下面的命令放在school.sql里面,同时完成建库,表,插入的操作。
drop database if exists school;
create database school;
use school;
create table teacher
(
id int(3) auto_increment not null primary key,
name char(10) not null,
address varchar(50) default 'BeiJing',
year date
);
insert into teachervalues('001','Tom','ChengDu','1976-10-10');
insert into teachervalues('002','Bob','ShengZH','1975-12-23');
NetBeansà驱动à访问MySQL
1. 下载数据库驱动程序:mysql-connector-java-5.0.8,并将此目录下的文件mysql-connector-java-5.0.8-bin.jar放到%JAVA_HOME%lib下.
注意:如果不在放到这里的话,则需要将文件所在目录加到classpath中。
2. 打开NetBeans
所在项目的Libraries 右键Add JAR/Folder 选中刚才的jar文件。
3. 打开NetBeans: WindowàServicesàDatabase
在MySQL Server at localhost:3306[root]上右键àProperties上作如下配置:
注意:
1. 在Path/URL to admin Tool: 这一项中填上MySQL的管理工具,这里用的是Navicat V8.2.12ForMySQL,所以这里填上该工具可执行文件的具体目录即可,其他选项会默认生成。
2. Server HostName:
如果是本地的话就填:localhost 或 127.0.1
如果是远程的话就填:MySQL数据库服务器所在IP。
下面NetBeans里面的完整例子来连MySQL,并对其进行操作:
import java.sql.Connection; //Connection类
import java.sql.DriverManager; //驱动类
import java.sql.ResultSet; //查询到的SQL结果集类
import java.sql.Statement; //SQL语句类
public class MySQLTest {
public static void main(String arg[]) {
try {
Connection con = null; //定义一个MYSQL链接对象
Class.forName("com.mysql.jdbc.Driver").newInstance();
//MySQL驱动
con =DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/school","root", "abcd"); //school是数据库名,abcd是root账号的密码。
Statement stmt; //创建声明
stmt = con.createStatement(); //新增一条数据
stmt.executeUpdate("INSERTINTO user (username, password) VALUES ('qgao', '123456')");
ResultSet res =stmt.executeQuery("select LAST_INSERT_ID()");
int ret_id;
if (res.next()) {
ret_id = res.getInt(1);
System.out.print(ret_id);
}
//删除一条数据
String sql = "DELETE FROMuser WHERE username='Li Si'";
long deleteRes =stmt.executeUpdate(sql);
//如果为0则没有进行删除操作,如果大于0,则记录删除的条数
System.out.print("DELETE:" + deleteRes);
//更新一条数据
String updateSql = "UPDATEuser SET password = '1234' WHERE username='Gao Shou'";
long updateRes =stmt.executeUpdate(updateSql);
System.out.print("UPDATE:" + updateRes);
//查询数据并输出
String selectSql = "SELECT *FROM user";
ResultSet selectRes =stmt.executeQuery(selectSql);
while (selectRes.next()) { //循环输出结果集
String username =selectRes.getString("username");
String password =selectRes.getString("password");
System.out.print("rnrn");
System.out.print("username:" + username +"password:" + password);
}
} catch (Exception e) {
System.out.print("MYSQLERROR:" + e.getMessage());
}
}
}