MySQL语句

 

MySQL语句

一、     操作数据(查询)

1、DISTINCT

语法

       SELECT [DISTINCT] 列名[, 列名]... FROM 表名

注意事项

       *可以替代列名, 表示所有列, 但是通常我们为了提高代码的可读性, 不使用*

       DISTINCT为过滤重复记录

       如果DISTINCT后面跟多列, 是过滤掉多列合并之后的重复

2、AS

       SELECT 列名 AS 别名 FROM 表名

注意事项

       起别名时AS可以省略

       不会改变数据库中的值

3、WHERE

语法

       SELECT 列名 FROM 表名 [WHERE 条件语句]

4、ORDER BY

语法

       SELECT 列名 FROM 表名 ORDER BY 列名 ASC|DESC;

注意事项

       ORDER BY 指定排序的列名可以是表中的列名, 也可以是SELECT语句后面起的别名

       ASC为升序, DESC为降序

       ORDER BY应在查询语句的结尾

5、COUNT函数

语法

SELECT COUNT(*)|COUNT(列名) from 表名 [WHERE 条件语句]

注意事项

       COUNT(列名)的方式是统计指定列中有多少条记录, 不包括值为NULL的

       COUNT(*)则是统计表中有多少条数据

       COUNT(DISTINCT 列名) 统计不重复的记录数

       如果加上WHERE子句, 则是统计满足条件的记录

5、SUM函数

语法

       SELECT SUM(列名) FROM 表名 [WHERE 条件语句];

注意事项

       计算指定列中所有记录的和, 如果有WHERE子句则计算满足条件的记录

6、MAX / MIN函数

语法

       SELECT MAX(列名) FROM 表名 [WHERE 条件语句];

       SELECT MIN(列名) FROM 表名 [WHERE 条件语句];

注意事项

       获取指定列最高/最低值, NULL不参与统计

7、GROUP BY(重点)

语法

       SELECT 列名 FROM 表名 GROUP BY 列名 [HAVING 条件语句]

注意事项

       按照某列归类

       HAVING和WHERE类似, 但HAVING是作用于组, 其中可以使用组函数

SELECT列表中未包含在组函数中的列名, 只能是GROUP BY中的列名

HAVING中可以使用组函数, WHERE不能.

8、时间函数

注意date, datetime, timestamp之间的区别

 

ADDTIME(原时间, 增加值)  在某个时间上增加一段时间

       select addtime('18:23:01', '01:01:01');

select addtime(now(),'3:0:0');

CURRENT_DATE()                 当前日期

       select current_date();

CURRENT_TIME()                 当前时间

       select current_time();

CURRENT_TIMESTAMP()            当前时间戳

       select current_timestamp();

DATE(时间)                             返回制定时间的日期部分

       select date('2011-02-14 18:00:00');

DATE_ADD(日期,INTERVAL 增加值 类型)           在指定日期上对某个字段增加

       select date_add('2011-02-14 23:00:00', interval 10 month);

DATE_SUB(日期,INTERVAL 减少值 类型)            在指定日期上对某个字段减少

       select date_sub('2011-02-14 23:00:00', interval 1 year);

DATEDIFF(日期1, 日期2)           计算两个日期之间的差值

       select datediff('2000-02-14', '2001-02-14');

NOW()         当前时间

       select now();

YEAR|MONTH|DATE|HOUR|MINUTE|SECOND(时间)        获取指定时间的某个字段

       select year('2011-02-14 23:00:00');

       select hour('2011-02-14 23:00:00');

9、字符串函数

10、            数学函数

二、表的约束

约束的作用

限定某一列上的数据, 阻止非法数据录入, 提高程序健壮性.

1、唯一约束 unique

unique约束的字段在整张表中唯一, 不可重复, 不包括多个NULL

 

创建表时设置唯一

2、主键约束 primary key

通常我们在设计表的时候需要给每一条记录一个独有的标识, 我们就用主键来约束这个标识.

primary key用来标识一个字段, 这个字段是非空且唯一的.

3、外键约束 foreign key

foreign key约束某一列的值是参照另外一列

 

创建表时添加外键约束

三、表的查询                                                                                                                     

1、连接查询

2、多表连接

3、自连接自己和自己连接, 当前表的外键引用自己的主键.

4、子查询

一条查询语句需要使用另一条查询语句的结果.

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值