DML和DQL以及常用函数

1.使用INSERT添加数据

  1.1 insert into 表名(字段名列表)values(值);多行值用逗号隔开

例:INSERT INTO `students`(`学号`,`密码`,`学生姓名`,`性别`,`年级编号`,`手机号码`,`地址`,`出生日期`)VALUES(10002,123,'李文才','男',1,13645667890,'','1994-04-12'),

(10003,123,'才','男',1,13645667890,'','1994-04-12');

  1.2 将查询结果插入到新表

  create table 新表名(select 字段名1,字段名2,.... 字段名n from 原表名);

  例:create table `student`(select `学号`,`学生姓名`,`年级编号` from students);》》》》》将students中的 `学号`,`学生姓名`,`年级编号`插入到新表student中,新表student无需提前创建,不然会报错!

2.使用DML更新数据

  update 表名 set 列名=更新值[where 更新条件];

例:UPDATE students SET 学号=20001 WHERE 学号=10002;》》》》》》将学号10002改为20001

3.使用DML删除数据

  3.1 使用delete删除数据

  delete [from] 表名[where 删除条件];  删除的是整条记录

  例:DELETE FROM students WHERE 学号=10012;》》》》》删除学号为10012的学生信息

  3.2 使用truncate table删除数据

  truncate table 表名;

  删除的是列表中的所有行,删除的数据不能恢复还原,不建议使用

4.使用DQL中的select语句进行查询

select 字段名/列名/表达式/函数  from (where 查询条件)(order by 排序的列名)》》》》》order by 使用来排序的

  4.1 查询所有的数据行和列  select * from 表名;

  4.2 查询部分行和列

  例子:SELECT 学号,学生姓名,地址 FROM students WHERE 地址='北京市海淀区';》》》》查询地址为北京市海淀区的行,且只显示 学号,学生姓名,地址;

     SELECT 学号,学生姓名,地址 FROM students WHERE 地址<>'北京市海淀区';》》》》查询地址不为北京市海淀区的行,且只显示 学号,学生姓名,地址;

5. 常用函数

  5.1 聚合函数  AVG() 返回某字段的平均值》》》》select avg(studentResult) from result;

          count() 返回某字段的行数》》》》select count(studentResult) from result;

          max() 返回某字段的平均值》》》》select max(studentResult) from result;

          min() 返回某字段的平均值》》》》select min(studentResult) from result;

          sum() 返回某字段的平均值》》》》select sum(studentResult) from result;

  5.2 字符串函数  concat(str1,str2,......,strn)连接字符串为一个完整的字符串》》》select concat('My','S','QL')返回:MySQL

           insert(str,start,len,newstr)字符串str从start位置开始,将len个字符串的子串替换为newstr》》》》SELECT INSERT('这是Orcal数据库',3,6,'MySQL');返回:这是MySQL数据库

           lower(str)将字符串str中的所有字符变为小写》》》》》selector lower('MySQL'); 返回:mysql

           upper(str)将字符串str中的所有字符变为大写》》》》》selector lower('MySQL'); 返回:MYSQL

           substring(str,num,len)返回字符串str的第num个位置开始长度为len的字符串》》》》select substrig('JavaMySQL',5,5);返回:MySQL

  5.3 时间日期函数  curdate 获取当前日期  select curdate();返回:2018-03-14

            curtime获取当前时间  select curtime();返回:16:34:20

            now获取当前日期和时间  select now();返回:2018-03-14 16:35:20

            week(date)返回日期date为一年中第几周  SELECT WEEK('2018-02-14'); 返回:6》》》select week(now());当前时间是第几周

            year(date)返回日期date的年份

            hour(time)返回日期time的小时值

            minute(time)返回日期time的分钟值

            datediff(date1,date2)返回日期date1和date2之间相隔的天数》》》》》SELECT DATEDIFF('2018-05-14','2018-03-14');返回:61

            adddate(date,n)计算日期date加上n天后的日期》》》》》SELECT ADDDATE('2018-03-14',6);返回:2018-03-20

  5.4 数学函数  ceil(x)返回大于或等于数值x的最小整数》》》》SELECT CEIL(5.9);返回:6

          floor(x)返回小于或等于数值x的最大整数》》》》SELECT CEIL(5.9);返回:5

          rand()返回0~1间的随机数  

6. order by排序字句  asc升序,desc降序

  SELECT `学生姓名`,`年级编号`,`科目名`,`成绩` FROM school WHERE `成绩`>80 ORDER BY `成绩`ASC,`年级编号`DESC;

  表示成绩大于80,并且按成绩升序,年级降序的顺序排列

7. limit字句  limit(位置偏移量,显示行数)

 

posted on 2018-03-14 13:31  洋葱没有心丨  阅读(210)  评论(0编辑  收藏  举报