- 1、怎麼在程序中往mysql中的datetime中添加一個空值
- 2、如何在Java程序中訪問mysql資料庫中的數據並進行簡單的操作
- 3、在程序中涉及到MYSQL的問題
- 4、如何在程序中實現對mysql的定時訪問
- 5、如何使用VC++程序在MySQL資料庫中創建表
PERIOD_DIFF(P1,P2)
返回在時期P1和P2之間月數,P1和P2應該以格式YYMM或YYYYMM。注意,時期參數P1和P2不是日期值。
mysql select PERIOD_DIFF(9802,199703);
– 11
DATE_ADD(date,INTERVAL expr type)
DATE_SUB(date,INTERVAL expr type)
ADDDATE(date,INTERVAL expr type)
SUBDATE(date,INTERVAL expr type)
這些功能執行日期運算。對於MySQL 3.22,他們是新的。ADDDATE()和SUBDATE()是DATE_ADD()和DATE_SUB()的同義詞。
在MySQL 3.23中,你可以使用+和-而不是DATE_ADD()和DATE_SUB()。(見例子)date是一個指定開始日期的
DATETIME或DATE值,expr是指定加到開始日期或從開始日期減去的間隔值一個表達式,expr是一個字元串;它可以以
一個「-」開始表示負間隔。type是一個關鍵詞,指明表達式應該如何被解釋。EXTRACT(type FROM date)函數從日期
中返回「type」間隔。下表顯示了type和expr參數怎樣被關聯: type值 含義 期望的expr格式
SECOND 秒 SECONDS
MINUTE 分鐘 MINUTES
HOUR 時間 HOURS
DAY 天 DAYS
MONTH 月 MONTHS
YEAR 年 YEARS
MINUTE_SECOND 分鐘和秒 “MINUTES:SECONDS”
HOUR_MINUTE 小時和分鐘 “HOURS:MINUTES”
DAY_HOUR 天和小時 “DAYS HOURS”
YEAR_MONTH 年和月 “YEARS-MONTHS”
HOUR_SECOND 小時, 分鐘, “HOURS:MINUTES:SECONDS”
DAY_MINUTE 天, 小時, 分鐘 “DAYS HOURS:MINUTES”
DAY_SECOND 天, 小時, 分鐘, 秒 “DAYS HOURS:MINUTES:SECONDS”
MySQL在expr格式中允許任何標點分隔符。表示顯示的是建議的分隔符。如果date參數是一個DATE值並且你的計算僅僅
包含YEAR、MONTH和DAY部分(即,沒有時間部分),結果是一個DATE值。否則結果是一個DATETIME值。
mysql SELECT “1997-12-31 23:59:59” + INTERVAL 1 SECOND;
– 1998-01-01 00:00:00
mysql SELECT INTERVAL 1 DAY + “1997-12-31”;
– 1998-01-01
mysql SELECT “1998-01-01” – INTERVAL 1 SECOND;
– 1997-12-31 23:59:59
mysql SELECT DATE_ADD(“1997-12-31 23:59:59”,
INTERVAL 1 SECOND);
– 1998-01-01 00:00:00
mysql SELECT DATE_ADD(“1997-12-31 23:59:59”,
INTERVAL 1 DAY);
– 1998-01-01 23:59:59
mysql SELECT DATE_ADD(“1997-12-31 23:59:59”,
INTERVAL “1:1” MINUTE_SECOND);
– 1998-01-01 00:01:00
mysql SELECT DATE_SUB(“1998-01-01 00:00:00”,
INTERVAL “1 1:1:1” DAY_SECOND);
– 1997-12-30 22:58:59
mysql SELECT DATE_ADD(“1998-01-01 00:00:00”,
INTERVAL “-1 10” DAY_HOUR);
– 1997-12-30 14:00:00
mysql SELECT DATE_SUB(“1998-01-02”, INTERVAL 31 DAY);
– 1997-12-02
mysql SELECT EXTRACT(YEAR FROM “1999-07-02”);
– 1999
mysql SELECT EXTRACT(YEAR_MONTH FROM “1999-07-02 01:02:03”);
– 199907
mysql SELECT EXTRACT(DAY_MINUTE FROM “1999-07-02 01:02:03”);
– 20102
1、導入包,載入驅動
Class.forName(“com.mysql.jdbc.Driver”);
2、創建連接
Connection
conn=DriveManager.getConnection(“jdbc:mysql://
localhost
:3306/資料庫名”,
“賬號”,
“密碼”);
3、獲取語句
Statement
stmt=conn.createStatement();
4、操作數據
用Java連Access在網上有很多示例,搜索一下,或者參考:
;tn=ichuner_4_pgie=utf-8
Access資料庫,只是一個文件,而且可以不用密碼訪問
MySql的話,可以設置一個配置文件,把MySql用戶名和密碼寫在裡面
用戶使用時要求他配置正確用戶名密碼
修改 mysql 的 連接時間
============
第一種方法就是修改mysql,當時查資料《mysql5 管理員手冊》裡面說 mysql的timeout時間預設是28800秒,也就是8小時,增加一個0就沒問題了。 及在mysql界面裡面輸入mysqld-nt –default-table-type=innodb –interactive_timeout=288000。
如果是MySQL5以前的版本,需要修改連接池配置中的URL,添加autoReconnect=true
如果是MySQL5 以後的版本,需要修改my.cnf(或者my.ini)文件,在[mysqld]後面添加
wait_timeout = 172800
interactive-timeout = 172800
單位都是秒,記得必須都添加,否則不起作用,通過show variables查看wait_timeout的值。
第二種方法是在系統中做相應的配置,這種配置又分為兩種,一種是傳統的在系統中寫定時檢查連接的文件,另外一種就是交給伺服器,讓伺服器來完成。先說第一種吧,我當時用的是c3p0鏈接池(因為當時還很崇尚hibernate),就是把3p0.testConnectionOnCheckout設置為true,然後將c3p0.preferredTestQuery設置為”select id from users where id=1″(users是我在項目中用戶表,你也可以根據自己的實際換其他的表,但是查詢的數據必須存在,*在附件中附上c3p0的常用屬性)。第二種,jndi,其他的都差不多,及Resource name=”jdbc/TestDB” auth=”Container” type=”javax.sql.DataSource”
maxActive=”100″ maxIdle=”30″ maxWait=”10000″
username=”feiji” password=”111111″ driverClassName=”com.mysql.jdbc.Driver”
url=”jdbc:mysql://localhost:3306/javatest?autoReconnect=true”/其他的就不多做解釋了,因為都很簡單的東西,很多都是官方文檔上面有的
調用mysql_real_query來執行你的sql語句,可以是讀取或寫入的sql語句。
如果是寫入數據,mysql_real_query返回0表示成功,否則調用mysql_error(…)來顯示錯誤信息。
如果是讀取數據,同樣mysql_real_query返回0表示成功。成功後,調用mysql_store_result、mysql_num_rows、mysql_num_fields、mysql_fetch_fields、mysql_fetch_row這幾個函數來獲取查詢的結果。並且調用mysql_free_result釋放本次查詢的結果。
這些函數的具體用法可以參考網上說明或mysql的說明文檔,這裡不再贅述。
原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/126491.html