day62 创建新表 修改及删除表中数据 单表查询 where的运算符

本文主要是介绍day62 创建新表 修改及删除表中数据 单表查询 where的运算符,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

创建新表

根据现有表创建新表添加数据

        create table 新表名

        select 列名 from 现有表

删除表

        drop table 表名

在创建新表时,仅保留原表结构,不保留数据

        create table 新表名

        select 列名 from 现有表

        where 1=2;

吧现有表数据添加到已存在新表中

        insert into 新表名(列名列表)

        select 列名列表 from 新表

修改表中数据

        update 表名 set 列名=新值,列名=新值 【where 条件】

        where修改条件,仅修改满足条件的数据

        where条件不写,表述修改所有条件

修改所有学生年龄+1

        update student set stu_age =stu_age+1;

修改邮箱为为空的学生邮箱为‘mysql@136.com’

        update student set email = 'mysql@136.com'

        where email is null;

修改年龄在18-22的女同学年龄-1

        update student set age = age -1

        where age between 18 and 22 and sex =‘女’;

修改所有姓张的同学的年龄=18

        update student set age = 18

        where name like ‘张%’;

删除表中数据

        delete from 表名 【where 条件】

删除表中所有年龄小于20的男同学

        delete from student where age<20 and sex='男';


-- 2 删除表中电话为空的女同学

        delete from student where stu_sex = '女' and stu_phone is null;
-- 3 删除年龄大于22的男同学
        delete from student where stu_sex ='男'
and stu_age <20;
        -- 4 删除所有姓'宋'的男同学

        delete from student where stu_sex ='男'
        and stu_name ='宋';

-- 5 删除所有同学

        delete  from student  ;

截断表

        truncate table 表名

问:delete from 表名 和 truncate table 表名区别?
 共同点:都是删除表中所有的数据

不同点:

      1)  delete from 表名,删除后的数据可以回滚

        truncate table 表名,删除后完全不存在

        2)如果删除表中有自增字段,delete不影响

        truncate时自增列初始化

        3)truncate 不能删除主外键中的主表数据

        delete能删除主外键关联中的主表数据(需要先删除外键引用表中的所有数据)

单表查询

        select 列名列表 --列名之间使用,分隔

        from 表名

       【 where】 查询条件

        【group by 】分组列

       【 having 】分组后筛选

        【order by】 排序列

注意事项:

       1 查询结果不在数据库存储,查询结果为结果集,以表结构显示

        2给列起别名

                语法:

                        列名 【as】别名

查询所有含所有列的值

        select * from emp;

查询部分列的值(投影查询)

 查询员工的编号,姓名,职位,工资,年薪

        select empno,ename,sal,sal*12 as yearSal from emp

查询员工的编号,姓名,职位

        select empno ,ename,sal from emp

        select empno as 部门编号,ename as 名字,sal as 薪水 from emo;

where子句

        运算符

        1)赋值语句 =

        2)算术运算符 + - * / %

        3)比较运算符 =       !=        any  all   some

SOME修饰符:SOME修饰符与ANY修饰符具有相同的含义,因为它们可以互换使用。有些数据库系统中,SOME修饰符只是ANY的别名。

SELECT * 
FROM employees
WHERE salary > ANY (SELECT salary FROM salaries WHERE job_title = 'Manager');
SELECT * 
FROM employees
WHERE salary > ALL (SELECT salary FROM salaries WHERE job_title = 'Manager');

        4)逻辑运算符 not    and      or

                逻辑运算顺序的优先级依次往后 先识别not  然后and  最后 or

                  a  and  b  or  c   会把ab当作整体与c 取or

select empno,ename,job,sal,deptno from emp where deptno in (10,20) and sal >1000;select empno,ename,job,sal,deptno from emp where deptno = 10 or 20 and sal >1000;

sql语句2会把 20 和 sal>1000   当作整体 再 or deptno = 10

select empno,ename,job,sal,deptno from emp where job = 'SALESMAN' or 'CLERK';select empno,ename,job,sal,deptno from emp  where job ='SALESMAN' or job = 'CLERK';

sql语句1会识别错误,得到只有salesman的结果集

        5)sql运算符

                in,   not    in:多者取其一

SELECT *FROM employeesWHERE employee_id NOT IN (SELECT employee_id FROM retired_employees);

                between   and:两者之间 用于数值日期之间区间

                not  between and

                is null , is not null

                like , not like

order排序

order by   asc || desc 降序排序;

常用函数

        1数值函数

        ceil()向上取整

        floor()向下取整

        round(x,y)四舍五入

        truncate(x,y) 截断

        2字符函数

        concat(s1,s2,。。。)多个字符串

        当任何一个值为null结果为null

                select concat(empno,'-',ename) from emp

        low(), upper()

        insert(str,index,len,new str):

                删除 和 替换

                mysql下标从一开始

               select ename,insert(ename,3,2,'') from emp

        instr(str,s)

                从str中查询s第一次出现的下标。无则返回0

                select ename,instr(enmae,'a') from emp

        substr,substring(str,index,len):从str的index处开始提取len个字符

                select ename,substr(ename,index)from emp;

日期函数        日期的默认格式‘yyyy-MM-dd’

        now() 

                select now(),curDate(),curTime()

         查询员工入职日期为1981的员工

                select empno,year(hiredate) from emp where year(hiredate) =1981;

     

   添加员工信息

  

转换函数

        %Y:年  四位                 %y两位

        %m:月                        

        %d:日

        %H:小时  24小时制                      %h 12小时制

        %S:秒                            

        %i:分

   str_to_date

insert into emp(ename,empno,hiredate)

values('天气',1,str_to_date('11-11-2023' ,'%m-%d-%y') ;            

这篇关于day62 创建新表 修改及删除表中数据 单表查询 where的运算符的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/804032

相关文章

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

SQL 中多表查询的常见连接方式详解

《SQL中多表查询的常见连接方式详解》本文介绍SQL中多表查询的常见连接方式,包括内连接(INNERJOIN)、左连接(LEFTJOIN)、右连接(RIGHTJOIN)、全外连接(FULLOUTER... 目录一、连接类型图表(ASCII 形式)二、前置代码(创建示例表)三、连接方式代码示例1. 内连接(I

docker如何删除悬空镜像

《docker如何删除悬空镜像》文章介绍了如何使用Docker命令删除悬空镜像,以提高服务器空间利用率,通过使用dockerimage命令结合filter和awk工具,可以过滤出没有Tag的镜像,并将... 目录docChina编程ker删除悬空镜像前言悬空镜像docker官方提供的方式自定义方式总结docker

Python创建Excel的4种方式小结

《Python创建Excel的4种方式小结》这篇文章主要为大家详细介绍了Python中创建Excel的4种常见方式,文中的示例代码简洁易懂,具有一定的参考价值,感兴趣的小伙伴可以学习一下... 目录库的安装代码1——pandas代码2——openpyxl代码3——xlsxwriterwww.cppcns.c

Redis的数据过期策略和数据淘汰策略

《Redis的数据过期策略和数据淘汰策略》本文主要介绍了Redis的数据过期策略和数据淘汰策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录一、数据过期策略1、惰性删除2、定期删除二、数据淘汰策略1、数据淘汰策略概念2、8种数据淘汰策略

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

修改若依框架Token的过期时间问题

《修改若依框架Token的过期时间问题》本文介绍了如何修改若依框架中Token的过期时间,通过修改`application.yml`文件中的配置来实现,默认单位为分钟,希望此经验对大家有所帮助,也欢迎... 目录修改若依框架Token的过期时间修改Token的过期时间关闭Token的过期时js间总结修改若依

MySQL修改密码的四种实现方式

《MySQL修改密码的四种实现方式》文章主要介绍了如何使用命令行工具修改MySQL密码,包括使用`setpassword`命令和`mysqladmin`命令,此外,还详细描述了忘记密码时的处理方法,包... 目录mysql修改密码四种方式一、set password命令二、使用mysqladmin三、修改u

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

Python给Excel写入数据的四种方法小结

《Python给Excel写入数据的四种方法小结》本文主要介绍了Python给Excel写入数据的四种方法小结,包含openpyxl库、xlsxwriter库、pandas库和win32com库,具有... 目录1. 使用 openpyxl 库2. 使用 xlsxwriter 库3. 使用 pandas 库