`

MySQL入门

 
阅读更多

一.安装MySQL

注意,MySQL默认字符集latin1(ISO_8895_1)。可以在安装MySQL的时候设置默认字符集。

MySQL默认帐户名称为root。

 

 

 

二.MySQL基本使用

MySQL命令行下输入?回车显示常用命令

 

MySQL命令行下执行SQL脚本文件:使用 \. 后加sql脚本文化路径。

例如:

\. c:\\musql_script\\create_table_dept.sql

 

Oracle安装完毕,会直接有一个全局数据库。很多表建立在全局数据库中。每个人都只有自己的表。这些表创建在全局数据库中。

在MySQL中,没有全局数据库,需要自己创建数据库

create database 数据库名称;

例如:create database mydatabase;

 

使用数据库 use 数据库名称;

 

创建表,标准SQL语句。

例如:

 

create table dept
(
deptno int primary key,
dname varchar(14),
loc    varchar(13)
);

create table emp
(
empno    int primary key,
ename    varchar(10),
job      varchar(10),
mgr      int,
hiredate datetime,
sal      double,
comm     double,
deptno   int,
foreign key (deptno) references dept(deptno);
);
 

 

查询MySQL中的数据库

show database;

 

显示数据库中的表

show tables;

 

注意,在显示数据库中的表之前,先要使用use命令选择数据库。

例如:

use mydatabase;

show tables;

 

 

查询表结构,即表的字段,字段的数据类型,字段的约束。

desc dept;

 

插入数据使用标准SQL语句

insert into dept value(10,'A','a');

 

插入数据库后要提交数据

commit;

 

 

 

三.分页显示

在Oracle中的分页显示

 

MySQL中的分页显示,使用limit命令。

select * from dept order by deptno desc limit 3,2;

即显示第三条向之后的两条数据,不包括第3条数据。

 

select * from dept order by deptno desc limit 3;

即显示三条数据。

 

 

 

四.自动递增

Oracle自动递增

创建序列。递增即调用nextvalue;

 

MySQL的自动递增,使用auto_increment关键词

例:

create table article

(

id int primary key auto_increment,

title varchar(255)

)

 

插入数据

insert into article values(null,'a');  

第一个字段可以为空。mysql会自动赋值。自增长列的第一个数字为1。

insert into article values(null,'b');  

再插入则为2.

或者可以这样

insert into article (title) values(‘c');

 

 

 

五.日期处理

Oracle中的日期处理

待写。

 

MySQL中显示当前时间

select now();

 

日期格式转换函数

使用date_format()函数,把日期以一定格式的字符串返回(http://www.w3school.com.cn/sql/func_date_format.asp)

select date_format(now(),'%y-%m-%d  %h:%i:%s');

 

向数据库中插入指定的日期

数据库内部将该格式的字符串转换成日期:'year-month-day hours:min:sec'

insert into emp values(9999,'test' ,'clerk',7369,'1981-12-23 12:23:23',1800,20,10);

 

 

 

六.JDBC连接MySQL

 

JDBC连接MySQL的常用urljdbc:mysql://localhost/数据库名?user=用户名&password=密码

 

普通格式jdbc:mysql://[host:port],[host:port].../[database][?参数名1][=参数值1][&参数名2][=参数值2]...

 

常用的几个较为重要的参数:

 

参数名称

参数说明

缺省值

最低版本要求 

user

数据库用户名

 

所有版本

password

用户密码

 

所有版本 

useUnicode

是否使用Unicode字符集,如果参数characterEncoding设置为gb2312gbk,本参数值必须设置为true

false

1.1g 

characterEncoding

useUnicode设置为true时,指定字符编码。比如可设置为gb2312gbk

false

1.1g 

autoReconnect

 当数据库连接异常中断时,是否自动重新连接

false

1.1

autoReconnectForPools

是否使用针对数据库连接池的重连策略

false

3.1.3

failOverReadOnly

自动重连成功后,连接是否设置为只读

true

3.0.12 

maxReconnects

autoReconnect设置为true时,重试连接的次数 

3

1.1 

initialTimeout

autoReconnect设置为true时,两次重连之间的时间间隔,单位:秒

2

1.1

connectTimeout

和数据库服务器建立socket连接时的超时,单位:毫秒。0表示永不超时,适用于JDK 1.4及更高版本

0

3.0.1 

socketTimeout

socket操作(读写)超时,单位:毫秒。 0表示永不超时

0

3.0.1


说明:

对应中文环境,通常mysql连接URL可以设置为:

jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false

 

在使用数据库连接池的情况下,最好设置两个参数:autoReconnect=true&failOverReadOnly=false

 

注意:

xml配置文件url&需要使用转义 &

比如在tomcat的server.xml中配置数据库连接池时,mysql jdbc url样例如下:

jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false

 

 

JDBC连MySQL代码大概:

 

try{
    Class.forName(“org.git.mm.mysql,Driver”).newInstance();
    //或者这样:Class.forName(“com.mysql.jdbc.Driver);
    String url=”jdbc:mysql://localhost/myDataBase?user=root&password=root”;
    Connection conn=Drivermanager.getConnection(url);
    ...
}catch(IOEcception ex){
   …
}finally{
   …
}
 

 


 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics