mysql資料庫創建日期欄位(mysql資料庫創建日期欄位怎麼設置)

本文目錄一覽:

資料庫mysql中,想建立一個默認值是系統當前時間的欄位,那麼這個欄位的類型必須是timestam

應該用timestamp,建表SQL改動如下:

CREATE TABLE share (

    id INT(11) PRIMARY KEY AUTO_INCREMENT,

    `name` VARCHAR(100),

    addrip VARCHAR(50),

    savetime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

    other VARCHAR(50)

);

SQL中關鍵字盡量大寫,如果你用SQLyog它會自動把關鍵字轉換為大寫;

name是保留字,雖然沒有影響,但是不能保證以後沒有影響,如果使用關鍵字、保留字做欄位,最好加上“符號包裹,以免出錯。所有自己命名的地方,都可以使用“符號包裹;

另外,每個欄位最好使用 COMMENT ‘內容’,給每個欄位加上注釋,這樣以後看到的時候不會想不起來欄位的含義。

eclipse 如何向mysql資料庫寫入日期及時間

參考如下內容:

java 用PreparedStatement來setDate,用問號的形式給日期問號賦值

pstmt.setTimestamp(8, new Timestamp(System.currentTimeMillis()));

pstmt.setDate(1, new java.sql.Date(date1.getTime()));

pstmt.setDate(2, new java.sql.Date(date2.getTime()));

第三:

其實向MySQL資料庫里插入時間欄位也是很容易的,只要設置為java.util.Date類型後,以hibernate的Pojo類對象為例,pojo.set(new java.util.Date());就可用了。

以下附錄在網上找到的相關資料:

Mysql 與 java 的時間類型

MySql的時間類型有 Java中與之對應的時間類型

date java.sql.Date

Datetime java.sql.Timestamp

Timestamp java.sql.Timestamp

Time java.sql.Time

Year java.sql.Date

於是便通過以下方式去實現:

Date date = new Date();//獲得系統時間.

String nowTime = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”).format(date);//將時間格式轉換成符合Timestamp要求的格式.

Timestamp goodsC_date = Timestamp.valueOf(nowTime);//把時間轉換

java.util.Date 是java.sql.Date的父類

MySql建表時日期類型的出理

mysql(5.5)所支持的日期時間類型有:DATETIME、 TIMESTAMP、DATE、TIME、YEAR。

1.DATETIME 用於表示 年月日 時分秒,是 DATE 和 TIME 的組合,並且記錄的年份比較長久。如果實際應用中有這樣的需求,就可以使用 DATETIME 類型。

2.TIMESTAMP

TIMESTAMP 用於表示 年月日 時分秒,但是記錄的年份比較短暫。

TIMESTAMP 和時區相關,更能反映當前時間。當插入日期時,會先轉換為本地時區後再存放;當查詢日期時,會將日期轉換為本地時區後再顯示。所以不同時區的人看到的同一時間是  不一樣的。

表中的第一個 TIMESTAMP 列自動設置為系統時間(CURRENT_TIMESTAMP)。當插入或更新一行,但沒有明確給 TIMESTAMP 列賦值,也會自動設置為當前系統時間。如果表中有第二個 TIMESTAMP 列,則默認值設置為0000-00-00 00:00:00。

TIMESTAMP 的屬性受 Mysql 版本和伺服器 SQLMode 的影響較大。

如果記錄的日期需要讓不同時區的人使用,最好使用 TIMESTAMP。

3.DATE

DATE 用於表示 年月日,如果實際應用值需要保存 年月日 就可以使用 DATE。

4.TIME

TIME 用於表示 時分秒,如果實際應用值需要保存 時分秒 就可以使用 TIME。

5.YEAR

YEAR 用於表示 年份,YEAR 有 2 位(最好使用4位)和 4 位格式的年。 默認是4位。如果實際應用只保存年份,那麼用 1 bytes 保存 YEAR 類型完全可以。不但能夠節約存儲空間,還能提高表的操作效率。

資料拓展:

每種日期時間類型都有一個有效值範圍,如果超出這個範圍,在默認的SQLMode下會報錯,並以零值存儲。

插入或更新時,日期時間類型允許「不嚴格」語法,以DATETIME為例(其他日期時間類型雷同):

YYYY-MM-DD HH:MM:SS 或 YY-MM-DD HH:MM:SS 格式的字元串。任何符號都可以用作日期部分或時間部分的間隔符。例如:「14-06-18 14:54:10」、「14*06*18 14.54.10」、「14+06+18 14=54=10」是等價的。對於包含日期時間的字元串值,如果月、日、時、分、秒的值小於10,不需要指定兩位數。例如:「2014-2-3 2:3:6」、「2014-02-03 02:03:06」是等價的。

YYYYMMDDHHMMSS 或 YYMMDDHHMMSS 格式的字元串。如果字元串對於日期時間類型是合法的就可以解釋為日期時間類型。例如:「20140618145410」 和 「140618145410」將被解釋為 「2014-06-18 14:54:10」 ,但是 「20140618145480」 是不合法的(秒數不合法),將被解釋為 「0000-00-00 00:00:00」。

YYYYMMDDHHMMSS 或 YYMMDDHHMMSS 格式的數字。如果該數字對日期時間類型是合法的就可以解釋為日期時間類型。例如:「20140618145410」 和 「140618145410」 將被解釋為 「2014-06-18 14:54:10」 。數值的長度應為6、8、12、14。如果數值長度是 8 或 14 位長,則假定為 YYYYMMDD 或 YYYYMMDDHHMMSS 格式。如果數值為 6 或 12 位長,則假定為 YYMMDD 或 YYMMDDHHMMSS 格式。

mysql中如何查看資料庫表的創建時間

查看資料庫表的創建時間可以在information_schema中查看

information_schema資料庫表說明:

SCHEMATA表:提供了當前mysql實例中所有資料庫的信息。是show databases的結果取之此表。

TABLES表:提供了關於資料庫中的表的信息(包括視圖)。詳細表述了某個表屬於哪個schema,表類型,表引擎,創建時間等信息。是show tables from schemaname的結果取之此表。

COLUMNS表:提供了表中的列信息。詳細表述了某張表的所有列以及每個列的信息。是show columns from schemaname.tablename的結果取之此表。

STATISTICS表:提供了關於表索引的信息。是show index from schemaname.tablename的結果取之此表。

USER_PRIVILEGES(用戶許可權)表:給出了關於全程許可權的信息。該信息源自mysql.user授權表。是非標準表。

SCHEMA_PRIVILEGES(方案許可權)表:給出了關於方案(資料庫)許可權的信息。該信息來自mysql.db授權表。是非標準表。

TABLE_PRIVILEGES(表許可權)表:給出了關於表許可權的信息。該信息源自mysql.tables_priv授權表。是非標準表。

COLUMN_PRIVILEGES(列許可權)表:給出了關於列許可權的信息。該信息源自mysql.columns_priv授權表。是非標準表。

CHARACTER_SETS(字符集)表:提供了mysql實例可用字符集的信息。是SHOW CHARACTER SET結果集取之此表。

COLLATIONS表:提供了關於各字符集的對照信息。

COLLATION_CHARACTER_SET_APPLICABILITY表:指明了可用於校對的字符集。這些列等效於SHOW COLLATION的前兩個顯示欄位。

TABLE_CONSTRAINTS表:描述了存在約束的表。以及表的約束類型。

KEY_COLUMN_USAGE表:描述了具有約束的鍵列。

ROUTINES表:提供了關於存儲子程序(存儲程序和函數)的信息。此時,ROUTINES表不包含自定義函數(UDF)。名為「mysql.proc name」的列指明了對應於INFORMATION_SCHEMA.ROUTINES表的mysql.proc表列。

VIEWS表:給出了關於資料庫中的視圖的信息。需要有show views許可權,否則無法查看視圖信息。

TRIGGERS表:提供了關於觸發程序的信息。必須有super許可權才能查看該表

資料庫表的創建時間在TABLES表中的CREATE_TIME欄位

SELECT CREATE_TIME FROM TABLES WHERE TABLE_SCHEMA=’資料庫名’ AND TABLE_NAME=’表名’;

將上面的資料庫名以及表名替換為所要查詢的數據即可。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/240424.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:22
下一篇 2024-12-12 12:22

相關推薦

  • 如何修改mysql的埠號

    本文將介紹如何修改mysql的埠號,方便開發者根據實際需求配置對應埠號。 一、為什麼需要修改mysql埠號 默認情況下,mysql使用的埠號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python 常用資料庫有哪些?

    在Python編程中,資料庫是不可或缺的一部分。隨著互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的資料庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝資料庫方案

    本文將介紹在openeuler操作系統中安裝資料庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟體源 sudo…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL資料庫 在使用Python操作MySQL之前,我們需要先連接MySQL資料庫。在Python中,我…

    編程 2025-04-29
  • 資料庫第三範式會有刪除插入異常

    如果沒有正確設計資料庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係資料庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • leveldb和unqlite:兩個高性能的資料庫存儲引擎

    本文將介紹兩款高性能的資料庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28
  • Python怎麼導入資料庫

    Python是一種高級編程語言。它具有簡單、易讀的語法和廣泛的庫,讓它成為一個靈活和強大的工具。Python的資料庫連接類型可以多種多樣,其中包括MySQL、Oracle、Post…

    編程 2025-04-28
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL資料庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28

發表回復

登錄後才能評論