复习mysql
最近要做一个竞赛申报系统的网站,所以要复习一下mysql怎么用
我已经把mysql相关jar包,笔记等传上博客,以备下载,不过这个博客只给了100M空间,实在是有点抠了。。。
最常使用的sql语句
=====创建数据库
语法:
create database 数据库名称 character set 编码集 collate 比较规则;
创建一个使用utf8字符集的mydb2数据库。
create database mydb2 character set utf8;
==== 如何创建表
语法:
create table 表名
(
字段一 字段类型,
字段二 字段类型,
字段三 字段类型
);
练习:
创建一个员工表employee:
create table employee ( id int primary key auto_increment, name varchar(20), gender varchar(10), birthday date, entry_date date, job varchar(100), salary float, resume varchar(255) );
DML语句
========增加行
nsert 语句:
写法(不写列名,直接写值,所有的值都要按照表的列的顺序去写):
语法:
insert into 表名 (列名一,列名二,列名N) values(列一的值,列二的值,列N的值);
insert into users values(3,'童林','1999-10-10','2015-08-10','a good boy',22000,'一个钻石王老五的哥们','点我吧');
========更改行
update 语句:
语法:
update 表名 set 列名一=列名的值,列名二=列名的值,列名三=列名...;
where 从句-- 加上限定条件, 只有满足条件的才会被修改,更新,不加where 从句, 那就是所有的都更新
update users set salary=4000,job='ccc' where username='junjie';
======删除行
delete 语句:
语法:
delete from 表名 [where从句];
如果不加where 从句,就会全部删除
delete from users where username='阿花';
DQL语句:查询语句
语法一:
select *| 列名一,列名二 from 表名;
关键字是 select ,基本上只用到全部查询
select * from exams;
或者查询某几列:
select name,english from exams;
========================================================================================================================
到这就差不多了,增删改查都全了
那么使用jar包,该jar包是基于c3p0连接池做的,大大节约了链接资源,有效防止了数据库崩溃,用java操作数据库往下看
第一步:获得链接
Connection conn=null; conn = sqltools.get_driver_connection("text2", "root", "514079");//获得链接
参数分别是数据库名、用户名、密码
第二部:创建Statement
Statement stm=null; stm = conn.createStatement();//获得Statement
第三部:对数据库进行增、删、改
String sql="insert into register values(null,'"+user.getUsername()+"','"+user.getPassword()+"','"+user.getIspassword()+"','"+user.getStudentid()+"','"+user.getStudentpassword()+"','"+user.getName()+"','"+user.getTelephone()+"');";
stm.executeUpdate(sql);
sql字符串里面就是要执行的sql语句
第四部:查询
sql="select * from register where username='"+user.getUsername()+"';";
re = stm.executeQuery(sql);
返回结果集re,解析re就可以得到值
解析方法
re.getString(String);
只要在里面写入列名称即可
第五步:释放资源,链接返回连接池
finally{ sqltools.finally_close( re , stm, conn); }
可以看到,释放资源是放在finally中,因为无论结果如何,都要释放宝贵的链接资源
假如没有结果集,写null即可;