欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MySQL安装、配置、使用及JDBC链接

程序员文章站 2022-06-07 15:28:23
...

URL: #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. 打开连接,后就可以对表和视图等进

  URL: #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());

  }

  }

  }