项目_03_MySQL

#MySQL简介

  MySQL属于中小型数据库。大型有Oracle、DB2更稳定。

  MySQL包含很多库、库中包含表,库可以被多个不同用户访问。
  
  Oracle包含库、库中包含很多对象,有表,序列,索引,函数,过程。用户创建表自己访问。

    

![](http://i.imgur.com/2QGT4th.png)


  MySQL安装快速,安装文件小。

  安装过程设置字符集

  ![](http://i.imgur.com/dQcgYuS.png)

  设置root帐号密码

 ![](http://i.imgur.com/46rD3r9.png)

#MySQL和Oracle 使用上区别

##建表

  - 建表语句相同。
  
    create table xxx(
      字段名 类型,
      字段名 类型
    )

  Oracle常用类型:NUMBER、VARCHAR2、DATE、CLOB、BLOB、TIMESTAMP  
  MySQL常用类型:int、long、double、float、varchar、date、time、datetime、timestamp、clob、blob

 - 创建约束语句相同

    alter table xxx add constraint primary key(xx)

 - 主键值

    Oracle:创建一个sequence,然后利用sequence.nextval做主键ID值,实现递增效果 

        create sequence user_seq;//默认从1开始递增加1
        insert into USER(ID,NAME) values (user_seq.nextval,?)
 
    MySQL:表有自动递增支持

        create table xx(
            ID int primary key auto_increment,
            NAME varchar(20)
        )

        insert into USER(NAME) values (?)  


##DML操作(增删改)

    insert into 表 (字段1,字段2...) values (?,?)
    update 表 set 字段1=?,字段2=? where 字段=?
    delete from 表 where 字段=?
   上述标准语句相同。

    INSERT INTO users(name, age) VALUES(‘姚明’, 25), (‘比尔.盖茨’, 50), (‘火星人’, 600);

 Oracle: SYSDATE、ROWNUM    
 MySQL: now()

##DQL查询操作
  
      select 字段... 
    from 表
    where 条件
    group by 分组
    having 组函数条件
    order by 排序

   - 上述标准语句相同
   - join...on...相同
   - 组函数max,count,min,avg,sum相同
   
  注意:分页查询不同
  
   Oracle:采用子查询+ROWNUM列实现  
   MySQL:采用limit ?,?

       select * from dept limit 0,5

##事务控制

    Oracle:默认关闭自动提交。执行一个DML后,需要commit一下
    MySQL:自动提交,执行一个DML就修改数据库。


##MySQL操作

1. 选择库

    - 查看所有库
    
            show databases

    - 使用某个库

            use 库名

    - 创建库

            create database 库名

    - 删除库

            drop database 库名


2. use 库后才可以进行表操作

    - 查看表

            show tables;//查看库中所有表名
            desc 表名;//查看表结构

    - 删除表
            drop table 表名;

    - 创建表

            create table x_user(
                id int primary key auto_increment,
                name varchar(20),
                age int
            );

    - 修改表

        alter table x_user add (birth date);

    - 操作表数据

            insert into x_user (name,age,birth) values ('james',25,'2013-06-05');
            update x_user set age=22 where id=1;
            delete from x_user where id=6;
            select * from x_user where name like '%o%';

    - 分页查询

            select * from x_user limit 抓取记录起点,抓取最大记录数;
            select * from x_user limit 3;//查询前3条,等价limit 0,3
            select * from x_user limit 0,3;//查询前3条
            select * from x_user limit 3,3;//从第4条抓,最多取3个

    - now()

            insert into x_user (name,age,birth) values ('xdl',10,now());
            select count(*) from x_user;
            select max(age) from x_user;




#Java访问MySQL

  修改连接参数改变即可

    url 改为 jdbc:mysql://localhost:3306/库名  
    driverClassName 改为 com.mysql.jdbc.Driver     
    username 改为 root
    password 改为 自己密码

欢迎转载:海阔天空 » 项目_03_MySQL

评论 沙了个发

换个身份

取消评论