SQL基础语法

SQL基础语法

1.基础
  • 语句以分号结尾,/* */插入多行注释

  • 表的创建

    1. 创建数据库:create database<数据库名>;
    2. 创建表:create table <表名>(列的设置);
    3. 常用约束
      • default默认值约束
      • primary key主键约束
      • not null非空值约束
    4. 常用数据类型
      • char字符串
      • varchar可变长度的字符串
      • integer整数
      • date日期
  • 表的删除和更新

    1. 删除表:drop table <表名>

    2. 添加列:alter table <表名> add column <列名>

    3. 删除列:alter table <表名>drop column <列名>

    4. 插入数据:insert into<表名> values(数据1.数据2,.….)

2.查询
  • select语句
    1. 列的查询:select<列名> from<表名>
    2. 查询表中所有的列:select * from<表名>(数据显示顺序随机)
    3. 为列设定别名:select <列名> as<新列名> from表名(中文新列名加双引号)
    4. 常数的查询:select <常值> as<新列名> from<表名>
    5. 从结果中删除重复行: select distinct<列名>from<表名>(nul数据会合并为一条,distinct只能用在第一个列名之前)
    6. where条件查询: select <列名> from<表名> where<行的条件>;
  • 算术运算符与比较运算符
    • 算术运算符 + - * / (null经过算术运算仍然是null)
    • 比较运算符
      • 大于>小于<等号=不等号<>
      • 字符串类型的数据按照字典顺序进行排序,不同于数字大小
  • 逻辑运算符
    • AND,OR,NOT
3.聚合与排序
  • 聚合查询
    • 计数count
      • 计算所有行数:count(*)
      • 计算null以外行数:count(<列名>)
      • 计算去除重复数据后的行数: count(distinct<列名>)
    • 求和sum
    • 求平均
    • 求最值max/min
  • 对表分组
    • group by
      • 指定的列称为聚合键或分组列
      • null也会作为一组数据
      • 聚合键之外的列名不能在select子句出现
      • group by子句中不能写列的别名
    • where和group by同时使用—where中不能选择聚合函数
  • 为聚合结果指定条件 having
    • 写在group by句子之后,用来指定分组的条件
    • 可以指定多个排序列
    • 可以使用聚合函数和select子句中未出现的列
  • 对查询结果排序
4. 数据更新
  • insert插入

    • 基本语法—insert into<表名>(列1,列2,…) values(值1,值2,.…)

    • 写入空值和默认值

      • 写入null就可以插入null值(not null约束的除外)
      • 写入default就可以插入默认值(需要有default约束)
    • 从其他表复制数据

      • insert into<表名1>(<列名>)

        select语句from<表名2>

  • delete删除

    • 删除表中全部数据
      • delete from <表名>
      • truncate <表名>
    • 删除指定行数据—delete from<表名>where<行条件>
  • update更新

    • update<表名>
    • set<列1>=<表达式1>,<列2>=<表达式2>,….where<行条件>
  • 事务

    • 创建事务——start transaction;

      ​ <事务语句>

      ​ commit;

    • 取消处理 ——start transaction;

      ​ <事务语句>

      ​ rollback;

    • 事务特性ACID 原子性 一致性 隔离性 持久性

5. 复杂查询
  • 视图

    • 创建视图

      create view<视图名>(列名1,列名2,…)

      as

      select语句

    • 删除视图

      drop view<视图名>;

    • 视图的限制

      • 不能用order by语句定义视图
      • 没有经过聚合汇总、只select了一张表、未使用distinct的视图才可以进行更新,表也随之更新
  • 子查询

    • 基础语法

      select<列名>

      from (select语句) as<子查询名>;

    • 标量子查询

      • 必须且只能返回单一值,用括号括起来使用
      • 能够使用常数或者列名的地方,SELECT子句、WHERE子句,GROUP BY子句、HAVING子句,ORDER BY子句,都可以使用
      • where子句中使用的子查询必须是标量子查询
  • 关联子查询

    select<列名1>,<列名2>…

    from<表名> as <主查询名>

    where <列名>=

    (select<列名>

    from<表名>as<子查询名>

    where<主查询名>.<列名>=<子查询名>.<列名>);

6.函数,谓词,case表达式
  • 函数

    • 算数函数
      • abs()绝对值
      • mod()求余
      • round()四舍五入
    • 字符串函数
      • concat( str1, str2…)拼接
      • upper()或lower()大小写转换
      • length()计算字符长度
      • replace(str, from_str, to_str)替换字符串中的部分字符
      • substr(str,start__position,char_nun截取字符串中的一部分
    • 日期函数
      • current_date获得当前曰期
      • current_time 获得当前时间
      • current_timestamp获得当前日期和时间
      • extract(<日期元素> from<日期>)截取曰期元素
    • 转换函数
      • cast(<值>as<想转换的类型>)类型转换函数
      • coalesce(数据1,数据2,数据3,…)返回左侧开始第一个不是null的值
  • 谓词

    • like一致查询
      • %_0个字符以上的任意个字符
      • -_1个任意字符
    • between 范围查询
    • is null/ is not null空值查询
    • exist / not exist 判断是否存在某个条件的记录
      • 通常指定关联子查询作为exist的参数
      • 实际应用时写的是exists ()
      • exist的子查询尽量写select *
  • case表达式–条件分支

    case when<条件>

    then<表达式>

    else<表达式>

    end

7.集合运算
  • 表的加减法

    • 并集

      select语句

      union

      select语句

    • 交集

    • 差集

  • 表的联结

    • 内连接

      select<表别名>.<列名>

      from<表1> as<别名1>

      inner join<表2> as<别名2>

      on<联结条件>;

    • 外联结

      select<表别名>.<列名>

      from<表1> as<别名1>

      left outer join<表2> as<别名2>

      on<联结条件>;

    • 交叉联结

      select<表别名>.<列名>

      from<表1> as<别名1>

      cross join<表2> as<别名2>

      on<联结条件>;

利用 TensorFlow 训练自己的目标识别器。本文内容来自于我的毕业设计,基于 TensorFlow 1.15.0,其他 TensorFlow 版本运行可能存在问题。.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值