MySql安装和配置详情

来源:互联网 发布:java开源oa系统源码 编辑:程序博客网 时间:2024/05/16 13:02

MySQL应用

关系型数据库,中小型数据库,安装使用方便。Oracle是大型,会更稳定、功能更强。MySQL方便、快捷。

MySQL和Oracle不同

  1. 存储结构和访问权

    MySQL: 用户、库、表、索引、过程等
    Oracle: 用户、用户空间、表、索引、过程、序列等

    Oracle登录后,默认访问用户空间下的表、索引等元素
    MySQL登录后,可以访问各个库中表、索引等元素

  2. MySQL安装

    按提示向导,下一步、下一步即可。以下两个界面需要改变:

    指定表存储默认字符集

    为root帐号指定密码

  3. 表结构

    • 建表

      create table xxx(
      字段名1 类型,
      字段名1 类型
      )

    • Oracle字段类型(重点)

      NUMBER、VARCHAR2、CHAR、DATE、TIMESTAMP、CLOB、BLOB等

      create table dept(
      deptno NUMBER primary key,
      dname VARCHAR2(20),
      loc VARCHAR2(50)
      );

    • MySql字段类型(重点)

      int、long、double、float、varchar、char、date、time、datetime、timestamp、text、clob、blob等

      create table dept(
      deptno int primary key,
      dname VARCHAR(20),
      loc VARCHAR(50)
      )ENGINE=InnoDB DEFAULT CHARSET=utf8;

    • 表引擎(重点)

      MyISAM表,目前它都不支持事务,行级锁和外键约束的功能。
      InnoDB:InnoDB表类型可以看作是对MyISAM的进一步更新产品,它提供了事务、行级锁机制和外键约束的功能 .

      通过show create table xxx;命令可以查看表的引擎和编码。

    • 主键(重点)

      oracle使用序列生成递增主键值。(建一个表,相应建一个序列)
      mysql不支持序列,字段有自动递增功能。(建表时指定自动递增就可以)

      create table dept(   deptno int auto_increment primary key,   dname VARCHAR(20),   loc VARCHAR(50))ENGINE=InnoDB DEFAULT CHARSET=utf8;
    • 约束

      添加约束SQL跟Oracle相同

    • 修改表结构

      alter table xxx 与oracle相同

  4. SQL语句

    • DQL(select查询)

      select ...from ...where ...group by ...having ...order by ...

      基本结构使用与Oracle相同,分页不同。

      Oracle中分页使用select嵌套,基于rownum做分页
      MySQL中分页使用limit ?(起点),?(数量)

      select * from dept limit 0,5;//前5条
      select * from dept limit 5;//等价于0,5
      select * from dept limit 5,5;//第6-10条

    • DML(insert,update,delete)

      与Oracle没有区别,相同。注意下insert操作

      //oracle

      insert into dept (deptno,dname,loc) values(dept_seq.nextval,?,?)

      //mysql

      insert into dept(dname,loc) values (?,?)//deptno设置了自动递增insert into dept(dname,loc) values ('java','beijing'),('php','shanghai')
  5. 关键字或函数

    Oracle: sysdate、字符函数、日期函数、数字函数
    mysql:now()、函数查资料,与oracle不同。

    分组统计函数都支持,例如max,min,avg,sum,count函数。

MySQL特有使用

  1. 库操作

    • 创建库

      create database xxx;

    • 查看库

      show databases;

    • 删除库

      drop database xxx;

    • 使用库

      use xxx;

  2. 表操作

    注意:必须先use 库,才能对表操作。

    • 查看库中有哪些表

      show tables;
    • 建表

      create table direction(    id int auto_increment primary key,    name varchar(20),    order_id int)engine=Innodb default charset=utf8;
    • 修改表结构

      alter table directionadd order_id int;
    • 查看表结构

      desc direction;
    • 删除表

      drop table direction;
  3. 记录操作

    • insert

      insert into direction (name,order_id) values ('前端开发',1);insert into direction (name,order_id) values ('后端开发',2),('移动开发',3);
    • update

      update direction set order_id=1where id=2;update direction set order_id=2where id=1;
    • delete

      delete from direction;delete from direction where id=?
    • select

      select * from direction;select * from direction order by order_id limit 0,2;select * from direction order by order_id limit 2,2;

Java访问mysql

Java 访问mysql跟访问oracle代码完全相同,区别在于

  • 驱动包需要改变

    oracle驱动:ojdbc.jar
    mysql驱动:mysql-connector-java-5.1.7-bin.jar

  • 连接参数需要改变

    oracle 连接参数:

    驱动类:oracle.jdbc.OracleDriver连接URL:jdbc:oracle:thin:@localhost:1521:XE帐号:scott密码:tiger

    mysql 连接参数:

    驱动类:com.mysql.jdbc.Driver连接URL:jdbc:mysql://localhost:3306/库名帐号:root密码:1234连接URL可以指定连接编码,指定格式连接URL:jdbc:mysql://localhost:3306/库名?useUnicode=true&characterEncoding=utf8在XML文件中如果指定编码,需要将&替换成&实体。因为&在XML属于敏感字符,必须用实体替换。
原创粉丝点击