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

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

9462bc6152b45e5afbbdb6b21f104e5f.png

一、 概念

二、 数据类型

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()提取 日期或日期/时间表达式的 日期部分,如下图:

执行语句:1SELECT 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

20MICROSECOND

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

19YEAR_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

2SELECT OrderId,DATE_ADD(OrderDate,INTERVAL 2DAY)AS 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

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

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

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

SUM(column) 返回某列的总和

COUNT(*)    返回被选行数

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

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

1、GROUP BY

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

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

2SELECT Customer,SUM(OrderPrice)FROM Orders

GROUP BY Customer

2、 HAVING

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

2

3SELECT Customer,SUM(OrderPrice)FROM Orders

GROUP BY Customer

HAVING SUM(OrderPrice)<2000

3、 UCASE()

UCASE 函数把字段的值转换为大写。1SELECT UCASE(column_name)FROM table_name

4、 LCASE()

UCASE 函数把字段的值转换为小写。1SELECT LCASE(column_name)FROM table_name

5、 MID()

MID 函数用于从文本字段中提取字符。 语法:1SELECT MID(column_name,start[,length])FROM table_name

length 可选。要返回的字符数。如果省略,则 MID() 函数返回剩余文本。 start 必需。规定开始位置(起始值是 1)。 column_name 必需。要提取字符的字段。

6、 LEN()

LEN() 函数返回文本字段中值的长度。(若NULL,则返回NULL) 举例:1SELECT LEN(City)as LengthOfCityFROM Persons;

7、 ROUND()

ROUND() 函数用于把数值字段舍入为指定的小数位数。 语法:1SELECT ROUND(column_name,[decimals])FROM table_name

column_name 必需。要舍入的字段。 decimals 可选。规定要返回的小数位数。不选默认为0.

举例:1SELECT ProductName, ROUND(UnitPrice,0)as UnitPriceFROM Products;

8、 FORMAT()

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

2SELECT 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

7CREATE TABLE Persons (

P_Idint NOT NULL AUTO_INCREMENT,

LastNamevarchar(255)NOT NULL,

PRIMARY KEY (P_Id)

)

要让 AUTO_INCREMENT 序列以其他的值起始的语法:1ALTER TABLE Persons AUTO_INCREMENT=100;

4、 NULL 值

IS [NOT] NULL

1) NULL 值的处理方式与其他值不同。 2)NULL 用作未知的或不适用的值的占位符。 3)注释:无法比较 NULL 和 0;它们是不等价的。

举例:1

2SELECT LastName,FirstName,AddressFROM Persons

WHERE AddressIS NULL

5、 NULL函数

我们有时希望 NULL 值为 0。

MySQL的IFNULL()函数表示:1

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

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值