在MySQL中,如何插入日期类型数据?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在MySQL中,如何插入日期类型数据?相关的知识,希望对你有一定的参考价值。

insert into 替换成你的表名 (name,date,value) values ('魂牵梦萦','2009-06-08 23:53:17','朝秦暮楚');

如果你是直接在mysql中操作的话,建议用下navcait for mysql,界面操作完成后有一个查看代码,这样你既可以达到想要的功能,有能很快学到不同的sql语句。

MySQL :

是一个关系型数据库,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策(本词条"授权政策"),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 php ,Linux和 Apache 可组成良好的开发环境,经过多年的web技术发展,在业内被广泛使用的一种web服务器解决方案之一,称之为LAMP。

系统特性:

1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性

2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统

3.为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。

4.支持多线程,充分利用CPU资源

5.优化的SQL查询算法,有效地提高查询速度

6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。

7.提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。

8.提供TCP/IP、ODBC和JDBC等多种数据库连接途径。

9.提供用于管理、检查、优化数据库操作的管理工具。

10.支持大型的数据库。可以处理拥有上千万条记录的大型数据库。

11.支持多种存储引擎。

参考技术A insert into 替换成你的表名 (name,date,value) values ('魂牵梦萦','2009-06-08 23:53:17','朝秦暮楚');
如果你是直接在Mysql中操作的话,建议你用下navcait for mysql,他界面操作完成后有一个查看代码,这样你既可以达到想要的功能,有能很快学到不懂的sql语句追问

insert into 替换成你的表名 (name,date,value) values ('魂牵梦萦','2009-06-08 23:53:17','朝秦暮楚');

这条语句在MySQL数据库中执行不了!

追答

大哥,你把表明替换了,你有这样的表吗?

参考技术B 字符串类型‘2013-04-22 19:19:00’
或者直接now()

如何使用 Codeigniter 将 JQuery datepicker 中的值插入 MySQL 日期数据类型?

【中文标题】如何使用 Codeigniter 将 JQuery datepicker 中的值插入 MySQL 日期数据类型?【英文标题】:How to insert values from JQuery datepicker to MySQL date datatype using Codeigniter? 【发布时间】:2012-09-13 15:50:09 【问题描述】:

我无法将 JQuery Datepicker 中的值插入到具有 Date 数据类型的 MySQL 数据库中。我将如何将字符串转换为日期数据类型?我将 Codeigniter 与 MVC 一起使用。这是我的代码:

javascript

<script>
$(function() 
    $( "#datepicker" ).datepicker(
        showOn: "button",
        buttonImage: "images/icons/calendar_24.png",
        buttonImageOnly: true,
        onSelect: function(dateText, inst)
            $("input[name='dob']").val(dateText);
        
    );

);
</script>

控制器

function create()

    $data = array(
        'FirstName' => $this->input->post('fname'),
        'DateofBirth' => $this->input->post('dob')
    );

    $this->site_model->add_record($data);
    $this->index();

查看

<?php echo form_open('site/create');?>
<p>
    <label for="fname">First Name:</label>
    <input type="text" name="fname" />
</p>

<p>
    <input type="text" name='dob' id="datepicker" />
</p>

谢谢大家! 我在谷歌阅读了一些解决方案 我这样做了:

控制器:

function create()

    $date = $this->input->post('dob');

    $data = array(
        'FirstName' => $this->input->post('fname'),
        'DateofBirth' => date('Y-m-d', strtotime($date))
    );

    $this->site_model->add_record($data);
    $this->index();

这解决了我的问题! :)

【问题讨论】:

MySQL 日期是一个具有特定格式的简单字符串:YYYY-MM-DD,范围从1000-01-019999-12-31。只需将收到的日期转换为这种格式(如果需要)并插入即可。 【参考方案1】:

我假设您的 MySQL 表的 dob 列是 DATE 类型。 Date 类型采用 yyyy-mm-dd 格式的值,例如2012-09-21

所以要回答您的问题 - 您需要将日期选择器中的日期格式化为上述有效格式。例如如果你的 datepicker 日期是 dd-mm-yy 格式,你需要使用控制器中 php 的 date() 函数将其转换为 mysql 日期格式....(还有其他方法可以处理日期,如 datetime 类)

function create()

    $data = array(
        'FirstName' => $this->input->post('fname'),
        'DateofBirth' => date('Y-m-d', strtotime(str_replace('-', '/', $this->input->post('dob')))); 
    );

    $this->site_model->add_record($data);
    $this->index();

使用 strtotime() 时的注意事项

m/d/y 或 d-m-y 格式的日期可以通过查看来消除歧义 各个组件之间的分隔符:如果分隔符是 斜线 (/),则假定为美式 m/d/y;而如果 分隔符是破折号 (-) 或点 (.),然后是欧洲 d-m-y 格式 是假定的。

【讨论】:

谢谢@Vamsi 你在考文垂大学学习过吗?我想我认识一个叫 Vamsi 的人。【参考方案2】:
<script>
$(function() 
    $( "#datepicker" ).datepicker(
        showOn: "button",
        buttonImage: "images/icons/calendar_24.png",
        buttonImageOnly: true,
        dateFormat: 'Y-m-d'       // No need to add onselect , value selected will automatically be added to input field #datepicker       
    );

);
</script>

你的代码很好

【讨论】:

【参考方案3】:
$(document).ready(function() 

    var year=new Date().getFullYear();
    var yearTo=year-18;
    var yearFrom=year-100;

    //display the years from hundred years in the past till 18 years in the past

    $( "#datePickerDOB" ).live("click",function()      

        $( "#datePickerDOB" ).datepicker(
            changeMonth: true,
            changeYear: true,
            yearRange: yearFrom+":"+yearTo,
            dateFormat: "dd-mm-yy"
        );
    );
);

【讨论】:

【参考方案4】:

使用以下格式设置日期选择器:

$('#datepicker').datepicker(dateFormat : 'yy-mm-dd');

【讨论】:

【参考方案5】:

您的控制器应如下所示:


    $date = $this->input->post('dob');

    $data = array(
        'FirstName' => $this->input->post('fname'),
        'DateofBirth' => date('Y-m-d', strtotime($date))
    );

    $this->site_model->add_record($data);
    $this->index();

我觉得这个更适合你

【讨论】:

以上是关于在MySQL中,如何插入日期类型数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何向mysql数据库中插入日期

求助!!如何在java代码中,将日期插入mysql数据库(对应字段类型是datetime),用JDBC连接数据库。

java怎么使用日期格式化将时间插入mysql datetime数据类型中?

如何在雪花日期数据类型字段中插入儒略日期

如何在 mysql 查询中插入日期?

c++ builder 往SQL数据库插入日期类型字段问题