MySQL数据库中需要建立时间字段并且设置其默认值为当前执行时间的方法是:建立字段类型为timestamp,并设置默认值为CURRENT_TIMESTAMP。即可,另外方法是设置字段为timestamp或者varchar,在执行插入语句时带入的值为 Now(),这个函数产生的时间格式为:2010-01-15 11:28:50。

如果字段类型为DATE,只能存储精确到日期,格式也就是2010-01-15。而有的时候只需要精确到日期,那么自动就可以选择为DATE,插入值可以写 CURRENT_DATE 就可以了。为了更直观的了解NOW()和CURRENT_DATE可在Shell中执行 Select NOW() ; 和 Select CURRENT_DATE;查看执行结果。
MySQl默认时区设置为UTC,默认时间与北京时间差8小时,在mysql文件夹,bin文件夹中的my.ini文件中找到:default-time-zone       = "UTC"
改UTC为PRC即可。 
以下是摘录过来的一些使用方法和技巧,骗稿费用的 呵呵。
如果MYSQL运行在服务器上,而你在客户端需要连接的化,需要按如下方式进行连接: shell>mysql -h host -u user -p Enter password:************ host和user分别代表MySQL服务器运行的主机名和MySQL帐户名.添写时写上对应的机器的名称和MySQL用户名. *********代表你的密码. 如果MYSQL运行在服务器上,而你在客户端需要连接的化,需要按如下方式进行连接:
shell>mysql -h host -u user -p
Enter password:************
host和user分别代表MySQL服务器运行的主机名和MySQL帐户名.添写时写上对应的机器的名称和MySQL用户名. *********代表你的密码.
如果有效,你会看到如下提示:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7 to server version: 5.0.18-nt
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
mysql>提示符告诉你该输入命令了.
有些时候MySQL会允许你匿名登陆到服务器上,此时直接输入mysql即可.
shell> mysql
成功连接后,可在mysql>提示下输入quit随时退出:
mysql> quit
Bye
下面显示一个简单的查询实例,这是一个简单命令,要求得到服务器的版本号和当前日期:
mysql> select version(), current_date;
+-----------+--------------+
version() current_date
+-----------+--------------+
5.0.18-nt 2006-07-29
+-----------+--------------+
1 row in set (0.00 sec)
mysql>
在这里我们要明白:
一个命令通常由SQL语句组成,随后跟着一个分号.
MySQL的显示结果用表格(行和列)方式输出.第一行为列的标签,随后行为查询的结果.通常列标签是你查询的数据库表的列名,但若检索的是一表达式而非列值(如上一个例子),通常用表达式本身来标记列.
随后它会显示返回了多少行以及查询时间,它提供了服务器性能的一个大致估计.它表示的是时钟时间并非CPU或机器时间.
能够以大小写输入关键字,即在MySQL中大小写是等价的,但在一个查询语句中,要求大小写统一.
以下是另一个查询:
mysql> Select SIN(PI()/4), (4+1)*5;
+------------------+---------+
SIN(PI()/4) (4+1)*5
+------------------+---------+
0.70710678118655 25
+------------------+---------+
1 row in set (0.02 sec)
mysql>
可以在一行上输入多条语句,如:
mysql> Select VERSION(); Select NOW();
+-----------------+
VERSION()
+-----------------+
5.1.2-alpha-log
+-----------------+
1 row in set (0.00 sec)
+---------------------+
NOW()
+---------------------+
2005-10-11 15:15:00
+---------------------+
1 row in set (0.00 sec)
mysql>
较长的命令可以分多行输入. MySQL是通过分号来判断语句是否结束,而不是换行.
下面是一个简单的多行语句的例子:
mysql> select
-> user(),
-> current_date;
+---------------+--------------+
USER() CURRENT_DATE
+---------------+--------------+
jon@localhost 2005-10-11
+---------------+--------------+
mysql>
在这个例子中,输入多行查询的第一行后,你可以看提示符变为 ->,这就是说MySQL没有找到语句结束标识正在等待剩余的输入部分. 如果不想执行正在输入过程的一个命令,输入\c 取消它:
mysql> select
-> user()
-> \c
mysql>
下面显示的是各个提示符以及它们所表示的MySQL的状态:
提示符 含义
mysql> 准备好接受新命令。
-> 等待多行命令的下一行。
'> 等待下一行,等待以单引号(“'”)开始的字符串的结束。
"> 等待下一行,等待以双引号(“"”)开始的字符串的结束。
`> 等待下一行,等待以反斜点(‘`’)开始的识别符的结束。
/*> 等待下一行,等待以/*开始的注释的结束。
在MySQL中使用Rand()抽取随即数据
你不能在一个ORDER BY子句用RAND()值使用列,因为ORDER BY将重复计算列多次。然而在MySQL3.23中,你可以做: Select * FROM table_name orDER BY RAND(),这是有利于得到一个来自Select * FROM table1,table2 Where a=b AND c 实现随机,从手册中找到了下面这个语句,可以完成任务:
Select * FROM table_name orDER BY rand() LIMIT 5;
rand在手册里是这么说的::
RAND()
RAND(N)
返回在范围0到1.0内的随机浮点值。如果一个整数参数N被指定,它被用作种子值。
mysql> select RAND();
-> 0.5925
mysql> select RAND(20);
-> 0.1811
mysql> select RAND(20);
-> 0.1811
mysql> select RAND();
-> 0.2079
mysql> select RAND();
-> 0.7888
你不能在一个ORDER BY子句用RAND()值使用列,因为ORDER BY将重复计算列多次。然而在MySQL3.23中,你可以做: Select * FROM table_name orDER BY RAND(),这是有利于得到一个来自Select * FROM table1,table2 Where a=b AND c
注意在一个Where子句里的一个RAND()将在每次Where被执行时重新评估。
但试了一下,8千条记录的表,执行一次需要0.08 sec,慢了些。后来请教了google,得到如下代码:
Select * FROM table_name AS r1 JOIN (Select ROUND(RAND() * (Select MAX(id) FROM table_name)) AS id) AS r2 Where r1.id >= r2.id orDER BY r1.id ASC LIMIT 5;
执行效率需要0.02 sec.可惜的是,只有mysql 4.1.*以上才支持这样的子查询.
---------------------------------不算华丽的分割线---------------------------------
MYSQL 命令行
1、mysql服务的启动和停止
net stop mysql
net start mysql
2、登陆mysql
语法如下: mysql -u用户名 -p用户密码
键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是:
mysql>
注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP
3、增加新用户
格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"
如,增加一个用户user1密码为password1,让其可以在本机上登录, 并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令:
grant select,insert,update,delete on *.* to user1@localhost Identified by "password1";
如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。
如果你不想user1有密码,可以再打一个命令将密码去掉。
grant select,insert,update,delete on mydb.* to user1@localhost identified by "";
4: 操作数据库
登录到mysql中,然后在mysql的提示符下运行下列命令,每个命令以分号结束。
1、 显示数据库列表。
show databases;
缺省有两个数据库:mysql和test。 mysql库存放着mysql的系统和用户权限信息,我们改密码和新增用户,实际上就是对这个库进行操作。
2、 显示库中的数据表:
use mysql;
show tables;
3、 显示数据表的结构:
describe 表名;
4、 建库与删库:
create database 库名;
drop database 库名;
5、 建表:
use 库名;
create table 表名(字段列表);
drop table 表名;
6、 清空表中记录:
delete from 表名;
7、 显示表中的记录:
select * from 表名;
5、导出和导入数据
1. 导出数据:
mysqldump --opt test > mysql.test
即将数据库test数据库导出到mysql.test文件,后者是一个文本文件
如:mysqldump -u root -p123456 --databases dbname > mysql.dbname
就是把数据库dbname导出到文件mysql.dbname中。
2. 导入数据:
mysqlimport -u root -p123456 < mysql.dbname。
不用解释了吧。
3. 将文本数据导入数据库:
文本数据的字段数据之间用tab键隔开。
use test;
load data local infile "文件名" into table 表名;
1:使用SHOW语句找出在服务器上当前存在什么数据库:
mysql> SHOW DATABASES;
2:2、创建一个数据库MYSQLDATA
mysql> Create DATABASE MYSQLDATA;
3:选择你所创建的数据库
mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)
4:查看现在的数据库中存在什么表
mysql> SHOW TABLES;
5:创建一个数据库表
mysql> Create TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6:显示表的结构:
mysql> DESCRIBE MYTABLE;
7:往表中加入记录
mysql> insert into MYTABLE values ("hyq","M");
8:用文本方式将数据装入数据库表中(例如D:/mysql.txt)
mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;
9:导入.sql文件命令(例如D:/mysql.sql)
mysql>use database;
mysql>source d:/mysql.sql;
10:删除表
mysql>drop TABLE MYTABLE;
11:清空表
mysql>delete from MYTABLE;
12:更新表中数据
mysql>update MYTABLE set sex="f" where name='hyq'; 13:备份数据库mysqldump -u root 库名>xxx.data14:
例2:连接到远程主机上的MYSQL
假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:    
mysql -h110.110.110.110 -uroot -pabcd123   
(注:u与root可以不用加空格,其它也一样)   
3、退出MYSQL命令: exit

转载于:https://blog.51cto.com/3609884/976368

MySQL命令及使用技巧以及当前时间字段默认值设置相关推荐

  1. mysql指定当前时间为默认时间_MySQL设置当前时间为默认值的方法

    方法一.是用alert table语句: 复制代码代码如下: use test_db1; create table test_ta1( id mediumint(8) unsigned not nul ...

  2. mysql创建表的时候日期给个默认值_mysql 创建表时 日期字段默认值为当前时间...

    mysql 创建表时 日期字段默认值为当前时间 mysql version 5.1 在mysql创建表的时候经常会遇到创建日期字段需要设置当前时间为默认值的时候,就如sqlserver2000一样,把 ...

  3. MySQL设置当前时间为默认值的方法

    方法一.是用alert table语句: 复制代码代码如下: use test_db1;  create table test_ta1(  id mediumint(8) unsigned not n ...

  4. MySQL 字段默认值该如何设置

    MySQL 字段默认值该如何设置 前言: 在 MySQL 中,我们可以为表字段设置默认值,在表中插入一条新记录时,如果没有为某个字段赋值,系统就会自动为这个字段插入默认值.关于默认值,有些知识还是需要 ...

  5. 【环境配置】MySQL timestamp的默认值设置问题

    环境: MacBook Pro 15 jdk8 MySQL:5.7.22 问题: mysql 5.7 以上版本,增加了2条严格的时间格式的限制(NO_ZERO_IN_DATE,NO_ZERO_DATE ...

  6. 关于MySQL中date字段默认值为“0000-00-00 00:00:00“导致MyBatisPlus无法正常list()而报系统异常错误码500的问题

    今天在SpringBoot整合MyBatisPlus的时候,使用自动代码生成的功能,对User表生成了entity.mapper.service代码,之后编写测试类调用userService.list ...

  7. MySQL 里 timestamp 的默认值设置

    MySQL里timestamp的默认值设置 timestamp 有以下几种默认值设置: 1.timestamp :表示该字段在插入和更新时都不会自动设置为当前时间. 2.timestamp defau ...

  8. mysql字段默认值不生效的问题解决(上)

    mysql字段默认值不生效的问题解决(上) 参考文章: (1)mysql字段默认值不生效的问题解决(上) (2)https://www.cnblogs.com/yuhuameng/p/10703931 ...

  9. 【原创】数据库中时间字段的值读取到DataSet中后,毫秒部分丢失。

    数据库中时间字段的值读取到DataSet中后,毫秒部分丢失. 在网上查了些解决方案,说读取时间时,先转化为DateTime类型,然后在ToString("yyyy-MM-dd HH:mm:s ...

最新文章

  1. 记录猫眼电影的自定义字体反爬
  2. 利用SQL索引提高查询速度
  3. optee系统服务/service的实现方式
  4. python做项目看板_三、使用python数据仓库实现可视化看板
  5. URAL 1047 Simple Calculations
  6. 118. Pascal's Triangle
  7. 下一代大数据即时分析架构--IOTA架构
  8. SpringBoot常用注解说明
  9. Docker学习之docker常用命令
  10. C语言小案例_OA大典故障案例摘录【第1393篇】爱普生c5290 彩色喷墨打印机 打印横白道...
  11. ONVIF协议基础概念
  12. 关于金山词霸2009牛津版在windows2003下无法对PDF文件取词的问题
  13. Flutter之Pigeon插件与Android通信使用指南
  14. 使用ArrayList集合,对其添加10个不同的元素,并使用Iterator遍历该集合
  15. 微信小程序自适应图片的时候底部总有一条白色的空白区像一条线该怎么办呢?
  16. 【web渗透思路】框架敏感信息泄露(特点、目录、配置)
  17. 洗料系列-杂谈篇-麻将自动化---第一章、麻将基础入门
  18. 刨根问底之链表数据结构
  19. java fx:ria_虚拟小组讨论:RIA的当前和未来状态
  20. 3万字总结!华三H3CNE知识点大集合,网络工程师收藏

热门文章

  1. Linux 系统有关Systemd 的知识
  2. php追加编译imagick
  3. 《JavaScript高效图形编程(修订版)》——6.2 位图、矢量图,或两者兼而有之?...
  4. Autodesk 产品二次开发技术研讨会将在上海广州北京相继举行
  5. Apache Rewrite url重定向功能的简单配置
  6. 使用Hexo在Github搭建静态博客
  7. 2.3 CMMI2级——项目跟踪和控制(Project Monitoring and Control)
  8. 整体思考自动化测试发展和价值回报
  9. 第八届全球游戏大会(GMGC北京2019)
  10. [深入学习C#]C#实现多线程的方式:使用Parallel类