MySQL数据库之MySQL初级开发详细教程(很全)
小标 2019-02-27 来源 : 阅读 1493 评论 0

摘要:本文主要向大家介绍了MySQL数据库之MySQL初级开发详细教程(很全) ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。

本文主要向大家介绍了MySQL数据库之MySQL初级开发详细教程(很全) ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。

MySQL数据库之MySQL初级开发详细教程(很全)

一、 概念


二、 数据类型


1、 数值数据类型


2、 日期和时间类型


3、 字符串类型



三、 数据库

四、 表


五、 SQL语言


1、 数据查询语言 DQL(Data Query Language)


2、 数据操纵语言DML(Data manipulation Language)


3、 数据定义语言 DDL(Data Define Language)


4、 数据控制语言 DCL(Data Control Language)


六、 SQL子句


七、 约束 Constraints


1、 NOT NULL



 

不允许、不接受空值



2、 UNIQUE 唯一约束


3、 PRIMARY KEY



 

PRIMARY KEY主键拥有自动定义的UNIQUE约束

 主键,列或列集合唯一性



4、 FOREIGN KEY



 

语法:一个表中的FOREIGN KEY指向另一个表中的PRIMARY KEY



FOREIGN KEY (字段) REFERENCES 另一个表(主键);

   

5、 CHECK


6、 DEFAULT


八、 索引


九、 ALTER语句



 

ALTER TABLE 语句用于在已有的表中添加、修改或删除列。


十、 视图


十一、日期和时间函数


1、 NOW()



 

返回当前的日期和时间


 

2016-10-12 15:13:38



2、 CURDATE()



 

返回当前的日期


 

2016-10-12



3、 CURTIME()



 

返回当前的时间


 

15:16:32



4、 DATE() 

提取 日期或日期/时间表达式的 日期部分,如下图:


 执行语句:

1

SELECT DATE(start_date) FROM teacher;

结果如下图:

5、 EXTRACT()



 

EXTRACT(Unit) 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。


 

Unit 值如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

MICROSECOND

SECOND

MINUTE

HOUR

DAY

WEEK

MONTH

QUARTER

YEAR

SECOND_MICROSECOND

MINUTE_MICROSECOND

MINUTE_SECOND

HOUR_MICROSECOND

HOUR_SECOND

HOUR_MINUTE

DAY_MICROSECOND

DAY_SECOND

DAY_MINUTE

DAY_HOUR

YEAR_MONTH


6、 DATE_ADD()



 

向日期添加指定的时间间隔。


 

DATE_ADD(date,INTERVAL expr type)

 date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔。

 type值如下:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

YEAR_MONTH

DAY_HOUR

DAY_MINUTE

DAY_SECOND

DAY_MICROSECOND

HOUR_MINUTE

HOUR_SECOND

HOUR_MICROSECOND

MINUTE_SECOND

MINUTE_MICROSECOND

SECOND_MICROSECOND

QUARTER

MONTH

MINUTE

SECOND

MICROSECOND

HOUR

WEEK

YEAR



 

举例:


 

现在,我们希望向 “OrderDate” 添加 2 天,这样就可以找到付款日期。

 我们使用下面的 SELECT 语句:

1

2

SELECT OrderId,DATE_ADD(OrderDate,INTERVAL 2 DAYAS OrderPayDate

FROM Orders



  • 12



7、 DATE_SUB()



 

DATE_SUB(date,INTERVAL expr type)

 参数及用法同DATE_ADD()

 从日期减去指定的时间间隔



8、 DATEDIFF()



 

DATEDIFF(date1,date2)

 返回值有正负

 返回两个日期之间的天数。



9、 DATE_FORMAT()



 

语法格式:

 DATE_FORMAT(date,format)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

%x  年,其中的星期一是周的第一天,4 位,与 %v 使用

%X  年,其中的星期日是周的第一天,4 位,与 %V 使用

%w  周的天 (0=星期日, 6=星期六)

%Y  年,4 位

%y  年,2 位

%v  周 (01-53) 星期一是一周的第一天,与 %x 使用

%V  周 (01-53) 星期日是一周的第一天,与 %X 使用

%W  星期名

%u  周 (00-53) 星期一是一周的第一天

%U  周 (00-53) 星期日是一周的第一天

%T  时间, 24-小时 (hh:mm:ss)

%s  秒(00-59)

%S  秒(00-59)

%r  时间,12-小时(hh:mm:ss AM 或 PM)

%p  AM 或 PM

%m  月,数值(00-12)

%l  小时 (1-12)

%k  小时 (0-23)

%j  年的天 (001-366)

%i  分钟,数值(00-59)

%I  小时 (01-12)

%h  小时 (01-12)

%H  小时 (00-23)

%d  月的天,数值(00-31)

%e  月的天,数值(0-31)

%D  带有英文前缀的月中的天

%c  月,数值

%b  缩写月名

%f  微秒

%M  月名

%a  缩写星期名


十二、 函数


一般常用函数



 

语法格式:

 SELECT function(列) FROM 表

1

2

3

4

5

6

7

MIN(column) 返回某列的最低值(有则不会返回NULL,没有则返回NULL

MAX(column) 返回某列的最高值(没有则返回NULL

COUNT(DISTINCT column)  返回相异结果的数目

SUM(column) 返回某列的总和

COUNT(*)    返回被选行数

COUNT(column)   返回某列的行数(不包括 NULL 值)

AVG(column) 返回某列的平均值


1、GROUP BY



 

GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。


 

常用于返回某月、某组的销售额、消费水平等等

1

2

SELECT Customer,SUM(OrderPrice) FROM Orders

GROUP BY Customer


2、 HAVING



 

在 SQL 中增加 HAVING 子句原因是,WHERE子句中无法使用计函数。

1

2

3

SELECT Customer,SUM(OrderPrice) FROM Orders

GROUP BY Customer

HAVING SUM(OrderPrice)<2000


3、 UCASE()



 

UCASE 函数把字段的值转换为大写。

1

SELECT UCASE(column_name) FROM table_name


4、 LCASE()



 

UCASE 函数把字段的值转换为小写。

1

SELECT LCASE(column_name) FROM table_name


5、 MID()



 

MID 函数用于从文本字段中提取字符。

 语法:

1

SELECT MID(column_name,start[,length]) FROM table_name



 

length 可选。要返回的字符数。如果省略,则 MID() 函数返回剩余文本。

 start 必需。规定开始位置(起始值是 1)。

 column_name 必需。要提取字符的字段。



6、 LEN()



 

LEN() 函数返回文本字段中值的长度。(若NULL,则返回NULL)

 举例:

1

SELECT LEN(City) as LengthOfCity FROM Persons;


7、 ROUND()



 

ROUND() 函数用于把数值字段舍入为指定的小数位数。

 语法:

1

SELECT ROUND(column_name,[decimals]) FROM table_name



 

column_name 必需。要舍入的字段。

 decimals 可选。规定要返回的小数位数。不选默认为0.


 

举例:

1

SELECT ProductName, ROUND(UnitPrice,0) as UnitPrice FROM Products;


8、 FORMAT()



 

FORMAT() 函数用于对字段的显示进行格式化。

1

2

SELECT ProductName, FORMAT(Now(),'YYYY-MM-DD'as PerDate

FROM Products;


十三、 其他语句


1、 UNION



 

(字段要相等)UNION 操作符用于合并两个或多个 SELECT 语句的结果集

 UNION会合并相同的字段数据

 UNION ALL会选择所有的数据,而不会合并重复的数据



2、 SELECT INTO

3、 AUTO_INCREMENT 自动增长



 

默认AUTO_INCREMENT的开始值是1,自动增长1


 

创建表时添加

1

2

3

4

5

6

7

CREATE TABLE Persons (

P_Id int NOT NULL AUTO_INCREMENT,

 

LastName varchar(255) NOT NULL,

 

PRIMARY KEY (P_Id)

)



 

要让 AUTO_INCREMENT 序列以其他的值起始的语法:

1

ALTER TABLE Persons AUTO_INCREMENT=100;


4、 NULL 值



 

IS [NOT] NULL


 

1) NULL 值的处理方式与其他值不同。

 2)NULL 用作未知的或不适用的值的占位符。

 3)注释:无法比较 NULL 和 0;它们是不等价的。


 

举例:

1

2

SELECT LastName,FirstName,Address FROM Persons

WHERE Address IS NULL


5、 NULL函数



 

我们有时希望 NULL 值为 0。


 

MySQL的IFNULL()函数表示:

1

2

SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0))

<div clas    

本文由职坐标整理并发布,希望对同学们学习MySQL有所帮助,更多内容请关注职坐标数据库MySQL数据库频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程