首页 > 其他 > 详细

高级查询(一)

时间:2020-04-29 21:32:21      阅读:69      评论:0      收藏:0      [点我收藏+]

     1.修改表

          1.修改表名: ALTER TABLE 旧表名 RENAME[TO]  新表名;

          2.添加字段:ALTER TABLE 表名 ADD 字段名 数据类型[属性];

          3.修改字段:ALTER TABLE 表名 CHANGE 原字段名 新字段名 数据类型[属性];

          4.删除字段:ALTER TABLE 表名 DROP 字段名;

     2.添加主键

          1.语法:ALTER TABLE 表名 ADD CONSTRAINT 主键名 PRIMARY KEY 表名(主键字段);

     3.添加外键

          1.语法:ALTER TABLE 表名 ADD CONNSTRAINT 外键名

                        FOREIGN KEY(外键字段)

                         REFERENCES  关联表名(关联字段);

     4.插入单(多)条数据记录(和SQL Server相同,但是不能用select多列添加数据)

          1.INSERT INTO 表名[(字段名列表)] VALUES(值列表1),(值列表2),(值列表3);

          注意事项:1.字段名可以选择性的添加,在表名后面写入列名就可,如果省略的话默认依次插入所有字段

                            2.多个列表与多个值之间用逗号隔开

                            3.值列表和字段名列表必须一一对应

                            4.如果选择性的添加数据,则必须注意,not null必须添加值

     5.将查询结果插入新表(INSERT INTO与SQL Server相同,另外一个不同)

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

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

                        FROM 原表;

                         需要事先创建而且和插入字段的数据类型相符

          2.语法:CREATE TABLE 新表(SELECT 字段1,字段2......

                                                             FROM 原表);

                         无需事先创建

     6.DML ——数据修改和删除(与SQL Server相同)

          1.修改语法:UPDATE 表名

                               SET 字段1=值1,字段2=值2,.......,字段n=值n

                                [WHERE 条件];

          2.删除语法:(1) DELETE FROM 表名 [WHERE 条件];

                               (2)TRUNCATE TABLE 表名;

               相同点:TRUNCATE语句和DELETE语句都会删除表内容,表结构及其字段、约束、所以保持不变

               不同点:TRUNCATE语句删除之后重置自增列,速度比DELETE语句快

     7.DQL语句(与SQL Server语句相同)+LIMIT语句

          SELECT 字段名列表

          FROM 表名或视图

          [WHERE 查询条件]

          [GROUP BY 分组的字段名]

          [HAVING 条件]

          [ORDER BY 排序](ASC正序/DESC倒叙)

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

               LIMIT:MYSQL查询中使用LIMIT字句限制结果集。   位置偏移量:开始位置 ;行数:每页显示几行

     8.聚合函数

          1.AVG()   返回某字段的平均值      2.COUNT()    返回某字段的行数

          3.MAX()   返回某字段的最大值     4.MIN()    返回某字段的最小值

          5.SUM()   返回某字段的和

     9.字符串函数

          1.CONCAT(str1,str1....strn)      字符串连接      SELECT CONCAT(‘MY‘,‘S‘,‘QL‘); 返回:MYSQL

          2.INSERT(str,pos,len,newstr)    字符串替换     SELECT INSERT(‘这是SQL Server数据库‘,3,10,‘MYSQL‘);返回:这是MYSQL数                                                                                                                                                                                         据库

          3.LOWER(str)      将字符串转为小写    SELECT LOWER(‘MYSQL‘);  返回:mysql

          4.UPPER(str)        将字符串转为大写    SELECT  UPPER(‘mysql‘);   返回:MYSQL

          5.SUBSTRING       字符串截取           SELECT SUBSTRING(‘JavaMySQLOracle‘,5,5);  返回:MySQL

     10.日期函数

          1.CURDATE()       获取当前日期     SELECT CURDATE();  返回:2020-4-29

          2.CURTIME()        获取当前时间      SELECT CURTIME();  返回:19:19:26

          3.NOW()              获取当前日期和时间   SELECT NOW();    返回:2020-04-29 19:19:26

          4.WEEK(date)     返回日期date为一年之中的第几周   SELECT WEEK(NOW());   返回:17

          5.YEAR(date)      返回日期date中的年份      SELECT YEAR(NOW());   返回:2020

          6.HOUR(time)      返回日期time中的小时      SELECT  HOUR(NOW());   返回:19

          7.MINUTE(time)   返回日期time中的分钟     SELECT   MINUTE(NOW()); 返回:19

          8.DATEDIFF(date1,date2)   返回日期参数date1和date2之间的天数   SELECT DATEDIFF(NOW(),2000-12-15);  返回:9563

          9.ADDDATE(date,n)    计算日期参数date加上n天之后的日期    SELECT ADDDATE(NOW(),5);   返回:2020-05-04

     11.数学函数

          1.CELT(x)     返回大于或者等于数值x的最小整数       SELECT CEIL(2.3)   返回:3

          2.FLOOR(x)  返回小于或者等于数值x的最大整数       SELECT FLOOR(2.3)   返回:2

          3.RNAD()     返回0~1间的一个随机数         SELECT RAND()    返回:0.55645453123123456(乘以相应数字则是相应数字之间                                      的随机数,可与FLOOR连用用以去除小数点)

高级查询(一)

原文:https://www.cnblogs.com/yangshuwen/p/12804482.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!