復習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即可;
復習mysql