mysql小技巧
select now(),user(),version(),database();
#最后输入\c是放弃的意思
desc 表名; 等价于 show columns from 表名;
#命令行中
mysqlshow 等价于 show databases;
mysqlshow 数据库名 等价于 show tables;
mysqlshow 数据库名 表名 等价于 desc 表名;
load data local infile “mysql_student.txt” into table student;
#将文件中的数据导入到数据库中
mysqlimport –local samp_db mysql_student.txt
#也可以从命令行直接调用import.exe导入数据,起始他也是生成一个load data语句
select语句的一般格式:
select 要选择的东西
from 一个或多个表
where 数据必须满足的条件;
SQL是一个自由格式的语言,所以编写select查询的时候,语句的断行可以随意。
算术运算符
+ 加
* 乘
- 减
/ 除
比较运算符
< 小于
!= 或 < > 不等于
< = 小于或等于
> = 大于或等于
= 等于
> 大于
逻辑运算符
A N D 逻辑与
O R 逻辑 或
N O T 逻辑非
在ORDER BY 子句中,对某个列名既不指定 ASC 又不指定 D E S C,则缺省的次序为升序。在对可能包含 NULL 值的列进行排序时,如果是升序排序,NULL 值出现在最前面,如果是按降序排序,NULL 值出现在最后。
如果一个查询返回许多行,但您只想看其中的几行,则可以利用 LIMIT 子句,特别是与ORDER BY 子句结合时更是如此。MySQL 允许限制一个查询的输出为前 n 行。
LIMIT 也可以从查询结果中取出中间部分。为了做到这一点,必须指定两个值。第一个值为结果中希望看到的第一个记录(第一个结果记录的编号为 0 而不是 1 )。第二个值为希望看到的记录个数。
利用 ORDER BY RAND( ) 与 LIMIT 结合,从 president 表中随机抽取一个记录:
select last_name,first_name from president order by rand() limit 1;
MySQL 提供了几种对日期进行处理的方法。可以对日期进行的一些运算如下:
■ 按日期排序。 (这点我们已经看到几次了。 )
■ 查找特定的日期或日期范围。
■ 提取日期值的组成部分,如年、月或日。
■ 计算日期的差。
■ 日期增加或减去一个间隔得出另一日期。
为了测试或检索日期的成分,可使用诸如 YEAR( )、 MONTH( ) 或 D AYOFMONTH( ) 这样的函数。
FLOOR( ) 函数截掉了年龄的小数部分,得到一个整数。
D ATE_ADD( ) 或 D ATE_SUB( ) 从一个日期计算另一个日期。这些函数取一个日期及时间间隔并产生一个新日期。可以使用year、month、day。current_date代表目前的系统时间,2015-05-01。
select date_add(“1970-1-1”, interval 10 year);
#输出1980-1-1
select date_add(“1970-1-1”, interval 10 year);
#输出1960-1-1
MySQL 允许查找与某个模式相配的值。这样,可以选择记录而不用提供精确的值。为了进行模式匹配运算,可使用特殊的运算符( LIKE 和 NOT LIKE),并且指定一个包含通配符的串。字符“ _”匹配任意单个字符,而“ %”匹配任意字符序列(包括空序列)。使用 L I K E或 NOT LIKE 的模式匹配都是不区分大小写的。
汇总的一种简单的形式是确定在一组值中哪些值是唯一值。利用 DISTINCT 关键字来删除结果中的重复行。可以将 COUNT( ) 与 DISTINCT 组合对选择结果集中不同的值进行计数。count(*)
H AVING 类似于 W H E R E,但它是在查询结果已经选出后才应用的,用来缩减服务器实际送到客户机的结果。
如果表自身需要比较,可以生成两个实例分别引用,下面是从表中寻找生日相同的人。
select p1.last_name,p1.ftrst_name,p1.birth from president as p1,president as p2 where month(p1.birth) = month(p2.birth) and daytomonth(p1.birth) = daytomonth(p2.birth) and (p1.last_name != p2.last_name or p1.first_name != p2.first_name) ;
A LTER TA B L E,可以对表重新命名,增加或删除列,更改列的类型等等。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。