MySQL安装、配置、使用及JDBC链接_MySQL
下载:
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("/r/n/r/n"); System.out.print("username:" + username +"password:" + password); } } catch (Exception e) { System.out.print("MYSQLERROR:" + e.getMessage()); } } }
推荐阅读