MySQL高级查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL高级查询相关的知识,希望对你有一定的参考价值。

修改表

修改表名

语法:      

ALTER  TABLE<旧表名> RENAME  [TO] <新表名>;

添加字段

语法:

 ALTER  TABLE 表名 ADD 字段名 数据类型 [属性];

 

修改字段

语法:

 ALTER  TABLE 表名 CHANGE 原字段名 新字段名 数据类型 [属性];

删除字段

语法:  

ALTER TABLE 表名 DROP 字段名;

 

添加主外键

1.添加主键约束

语法:  

ALTER TABLE 表名 ADD CONSTRAINT 主键名 PRIMARY KEY 表名(主键字段);

 

2.添加外键约束

语法:

 ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY (外键字段) REFERENCES 关   联表名(关联字段);

 

DML语句回顾

插入数据记录

1.插入单行数据

语法:  INSERT INTO 表名 [(字段名列表)]  VALUES (值列表);

2.插入多行数据

语法:  INSERT INTO 新表 (字段名列表) VALUES (值列表1), (值列表2), ......, (值列表n);

 

3. 将查询结构插入到新表

语法1:   

INSERT INTO 新表(字段1,字段2,......)

SELECT 字段1,字段2,......

FROM 原表;

语法2:

CREATE TABLE 新表 (SELECT 字段1,字段2, ........FROM 原表);

 

更新数据记录

语法:

 UPDATE 表名 SET 字段1=值1,字段2=值2,........字段n=值n [WHERE 条件];

删除数据记录

语法:  DELETE  FROM 表名  [WHERE条件];    -------删除单条记录

语法:  TRUNCATE TABLE 表名;                               ------删除全部记录

数据查询

DQL语句回顾

 

LIMIT子句

语法:      

SELECT<字段名列表>

FROM<表名或视图>

[WHERE <查询条件>]

[GROUP  BY  <分组的字段名>]

[ORDER BY  <排序的字段名> [ASC 或  DESC]]

[LIMIT  [位置偏移量, ]行数];

常用函数

常用聚合函数:

 

函数名

作用

AVG()                        

返回某字段的平均值

COUNT()

 返回某字段的行数

MAX()

返回某字段的最大值

MIN( )

返回某字段的最小值

SUM( )

返回某字段的和

 

常用的字符串函数

 

函数名

作用

举例

CONCAT(str1,str2,...,strn)

连接字符串str1,str2,...,strn为一个完整字符串

SELECT CONCAT(‘My’,’S’,’QL’);

返回:mysql

INSERT(str,pos,len,newstr)

将字符串str从pos位置开始,len个字符长的子串替换为字符串newstr

SELECT INSERT(‘这是SQL SERVER数据库’,3,10,’MySQL’);

返回:这是MySQL数据库

LOWER(str)

将字符串str中所有字符变为小写

 

UPPER(str)

将字符串str中所有字符串变为大写

SELECT UPPER(‘MySQL’);

返回: MYSQL

 

时间日期函数

 

函数名

作用

CURDATE()

获取当前日期

CURTIME()

获取当前时间

NOW()

获取当前日期和时间

WEEK(date)

返回日期date为一年的第几周

YEAR(date)

返回日期date的年份

HOUR(time)

返回时间Time的小时值

MINUTE(time)

返回时间Time的分钟值

DATEDIFF(date1,date2)

返回日期参数date1和date2之间相隔的天数

ADDDATE(date,n)

计算日期参数date加上n天后的日期

 

数字函数

 

函数名

作用

CEIL(x)

返回大于或等于数值x的最小整数

FLOOR(x)

返回小于或等于数值x的最大整数

RAND()

返回0~1间的随机数

以上是关于MySQL高级查询的主要内容,如果未能解决你的问题,请参考以下文章

SQL——MySQL高级查询2

mysql-高级查询

mysql高级排序&高级匹配查询示例

MySQL数据库 高级查询

mysql 高级查询

mysql 高级查询