数据库学习笔记 4 强大的SQL

其实这篇文章应该至少一个星期前就应该更新了,但是最近小猿我和喜欢了好多年的女神牵手成功,所以这些天有点飘。

---创建表结构
create table tablename
(
    id int,
    name varchat(20) not NULL,
    address varchat(100) ,
    primary key (id),
    FOREIGN  KEY (id) REFERENCES retable
);

---删除数据
delete from tablename;

---删除关系(删除表)
drop table tablename;

---添加列
alter table tablename add name varchat(20);

---删除列
alter table tablename drop name;

---插入数据
insert into tablename values(...);

---查询语句(多关系查询)
select * from tablename where ...;

---对查询查询内容进行去重
select distinct name from tablename;

聚集函数

最经常用过的聚集函数也就

  • avg 平均值
  • sum 求和
  • min 最小值
  • max 最大值
  • count 记录数

分组聚集 Group by

对于Group by只要记住如果Group by子句中没有出现的属性,在select子句中只能以聚集函数的形式体现。

join using

这次学习还遇到一个坑,不理解什么是join using。查了一遍才知道,当两个表关联字段采用相同明明规范时可以用join using 简化join on

select * from A join B on a.name=b.name

可以替换成 select * from A join B using(name)

top

由于我是一本《sqlserver宝典2012》和《数据库系统概念》一起看的,所以有时候能遇到一些小差异

《数据库系统概念》里的练题里有一个是找出工资最高的所有人(工资最高有很多人)

我的第一个想法就是用前几天看的top配合with ties就可以简单的解决这个问题了,执行了一下发现mysql并不支持这样的语法与之对应的是limit,Oracle中与之对应的应该是利用rownum。

外连接

外连接分为左、右、全三种连接方式。

左外连接以左表为主表,右表中没有的指补null,右外连接相反。

全外连接左右都会判断。

SQL VIEW

总是听周围的大神们讲这个功能或者那个功能应该用SQL视图或许能简单一点,这回终于一睹SQL view的芳容。

视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。我们可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表。

知道了SQL view是怎么回事,我开始纠结于应用程序怎么调用的问题。其实很简单视图就是存放在数据库上的虚拟表,只不过只有在使用的时候数据才会被查询出来。

SQL中的时间

SQL中表示时间的类型基本有三种

  • date 表示年月日
  • time 表示时分秒
  • timestamp 是date和time的结合

原文地址:https://www.cnblogs.com/hoyu/p/8617279.html

时间: 2024-08-29 22:16:08

数据库学习笔记 4 强大的SQL的相关文章

数据库 学习笔记(三) SQL基础

SQL语言分为:数据定义语言(Data-Definition Language,DDL)--SQL DDL定义关系模式.删除关系以及修改关系模式的命令:数据操纵语言(Data-Manipulation Language,DML)--增删改查:完整性(integrity)--SQL DDL包括定义完整性约束的命令:视图定义(view definition)--SQL DDL包括定义视图的命令:事务控制(transaction control)--SQL包括定义事务的开始和结束的命令:嵌入式SQL和

数据库学习笔记3--基本的SQL语句

[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4028178.html [正文] 主要内容: 一.cmd命令行的常用命令 二.数据定义语言(DDL) 三.数据操纵语言(DML) 四.数据查询语言(DRL) 五.事务控制语言(TCL) 一.cmd命令行的常用命令: 当我们使用MySQL 5.5 Command Line Client这个客户端登陆时

数据库学习笔记(一)

1.在ORACLE里默认只有三个系统用户,ORACLE是通过用户登入.  SYS用户:超级管理员,权限最高,它的角色是DBA.默认密码是change_on_install.具有创建数据库的权限   SYSTEM用户:系统管理员,权限很高,它的角色是DBA operator,默认密码manager.不具有创建数据库的权限!  普通用户(normal),如系统安装时的scott用户,默认密码是tiger.普通用户的权限是SYS用户或SYSTEM用户给的. 在SQL SERVER里是通过WINDOWS

MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类

首先需要回顾一下上一篇文章中的内容:MySQL数据库学习笔记(九)----JDBC的PreparedStatement接口重构增删改查 一.JDBC事务处理: 我们已经知道,事务的概念即:所有的操作要么同时成功,要么同时失败.在MySQL中提供了Commit.Rollback命令进行事务的提交与回滚.实际上在JDBC中也存在事务处理,如果要想进行事务处理的话,则必须按照以下的步骤完成. JDBC中事务处理的步骤: 1.要取消掉JDBC的自动提交:void setAutoCommit(boolea

MYSQL数据库学习笔记1

MYSQL数据库学习笔记1 数据库概念 关系数据库 常见数据库软件 SQL SQL的概念 SQL语言分类 数据库操作 创建数据库 查看数据库的定义 删除数据库 修改数据库 创建表 数据类型 约束 修改表 表的增删查改 查询 数据库概念 数据库是一种对大量信息进行管理的一种方法. 数据库系统从结构上看,也是可以分为三层的: 物理层:数据实际如何存储 逻辑层:存储的是什么数据,以及数据间是什么关系 试图层:提供给用户的部分数据 关系数据库 目前关于数据库模型最主流的有两种, 一种叫做关系型数据库,这

MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4085684.html 联系方式:[email protected] [正文] 这一周状态不太好,连续打了几天的点滴,所以博客中断了一个星期,现在继续. 我们在之前的几篇文章中学习了JDBC对数据库的增删改查.其实在实际开发中,一般都是使用第三方工具类,但是只有将之前的基础学习好了,在使用开源工具的

数据库学习笔记 一

数据库学习笔记 一 前言 作为程序员工作已经很长时间了,但是数据库方面的能力真的是拿不出手,所以准备开始系统的学习一下数据库知识. 我选择的数据库是微软对的SqlServer(MSSQL) 最开始有一次我闲的没事出去面试,被问到之前有没有用过MSSQL,脑中一片空白不知道这是个啥,我竟然说没用过. 安装 学习数据库当然是从安装开始啦,之前各种听说数据的安装和卸载有很大问题,如果遇到问题解决方案几乎都是重装系统,所以机智的我选择了虚拟机. 原来有搞过VMware这个东东确实不错,但是如果自己用免费

Oracle 学习笔记 17 -- 异常处理(PL/SQL)

程序在执行过程中出现异常是正常的,在程序的编写过程中出现异常也是不可避免的.但是要有相应的异常处理的机 制,来保证程序的正常执行.PL/SQL程序执行过程中出现的错误,称为异常.一个优秀的程序都应该能够正确处理 各种出错的情况,并尽可能的从错误中恢复.PL/SQL提供了异常处理机制. 概念: 异常处理(exception)是用来处理正常执行过程中未预料的事件,程序块的异常处理定义的错误和自定义的错误, 由于PL/SQL程序块一旦产生异常而没有指出如何处理时,程序就会异常的终止. 有三种类型的错误

sybase数据库学习笔记(一)

sybase的基本框架 sybase数据库由系统数据库.用户数据库.数据库设备和辅助文件组成. 1. 系统数据库 sybase数据库是多个数据库结构的数据库管理系统.分为系统数据库和用户数据库. 系统数据库是在安装的时候自动创建的,包括一下内容: master数据库:全面控制和管理用户数据库及sybase上的一切操作 temp数据库:为临时表和其他临时工作空间提供一个存储区域,是公用的 model数据库:为新建的用户数据库提供一个原型 sybsystemproc数据库:存储系统存储过程 其他系统