SQL学习 小知识点(一)
这是我在做实验的时候总结的,随着学习可能会做更多的小总结
ssms上面把所有代码写下来后一块执行是行不通的(极大可能会报错),推测可能是因为ssms先对代码的语法进行了检查。 ——My experience
alter命令修改column属性为not null
alter table table_name
alter column column_name column_type NOT NULL;
alter命令向表中添加column
alter table table_name
add column_name column_type(max);
alter修改column为primary key
alter table table_name add constraint (外)键名 primary key (column_name);
alter修改column为foreign key
这个就和上面的修改为主键的命令类似了
alter table table_name
add constraint 键名 foreign key (column_name) references 参照表名(column_name);
alter删除列
alter table 表名 drop column 列名;
sqlserver重命名表名
EXEC sp_rename 原表名, 新表名;
sqlserver重命名列名
exec sp_rename 'tablename.ColumnName', 'NewColumnName', 'column'
例如:
EXEC sp_rename 'employ.term', 'term(天)', 'column';
添加具有唯一性的列
ALTER TABLE table_name
ADD column_name type(max) UNIQUE(column_name);
修改列使其具有唯一性
ALTER TABLE table_name
ADD CONSTRAINT 约束名 UNIQUE (column_name,column_name);
删除表中某行(delete & where)
delete from table_name
where a_column_name = column_name_value;
update基础更新
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
select基础查询
select 想回显列值的列名 from 表名
where 限制条件(如:age >= 18);
下面的内容就比较深了,不过也不算太难,众所周知,sql的最关键功能就是查询数据了,下面是关于查询的一些内容,有时间的话,我或许会抽出时间,写一篇质量更高的SQL查询语句总结。
1.做到的题目
select employ.mid,motorcade.mname,avg(driver.dage) '平均年龄' from driver,employ,motorcade
where driver.did = employ.did and motorcade.mid = employ.mid
group by employ.mid,motorcade.mname
这里涉及了,聚集函数,group by分组,连接查询,数据筛选。
平均年龄:列的别名,聚集函数新生成的列初始时没有列名,这种方式给他加上列名。
from后的两个表:进行连接查询的两的数据表
where语句:对连接查询的数据进行了筛选,
原因:
因为连接查询会对数据进行无脑组合,就是如果两个表进行连接查询,第一个表有4行.第二个
表有5行的话,那么连接后的表就有4 x 5 = 20行,而真正正确的只有满足where后条件的数据
,就是主键与外键的数据相等的是合理的数据(即可以分到一行的数据)。
表名.列名:似乎是列的更精准定位,可能是为了区分各表之间有相同的列名的情况。
--+哈哈,知识点还挺多的哈。
2.今天做到的另一个题目
select vid,penaltyScore from usage
group by vid,penaltyScore
having sum(penaltyScore) >= 12;
这里的这个having关键字是和group by 关键字相搭配的,有having就一定有group by,但是有group by不一定有having。having限定的是一个或者可以多个的含有聚集函数的条件。
SQL学习 小知识点(一)的更多相关文章
- SQL 学习小笔记
1.FOUND_ROWS() 题目: ,; 在上边sql中使用什么选项可以使 SELECT FOUND_ROWS()忽略LIMIT子句,返回总数? *答案* : SQL_CALC_FOUND_ROWS ...
- oracle学习小知识点总结
登陆数据库:sqlplus "/as sysdba" window身份验证,不需要用户名和密码. 查看数据库状态: select status from v$instance(v$ ...
- 刚接触Linux,菜鸟必备的小知识点(一)
身为一个将要大四的学生,而且还是学计算机的没有接触过linux简直是羞愧难当.这个假期做了一个软件测试员,必须要熟悉linux的操作,所以对于我这个菜鸟我也就说几点比较重要的小知识点吧. 第一.cd指 ...
- js中关于value的一个小知识点(value既是属性也是变量)
今天在学习input的value值时,发现这么一个小知识点,以前理解不太透彻. [1]以下这种情况是常见情况,会弹出“测试内容” <input type="button" v ...
- TERADATA SQL学习随笔<一>
此博客内容简介及目录 http://www.cnblogs.com/weibaar/p/6644261.html 最近在TERADATA环境学习SQL.在这里记录一下学习中查过的知识点,作为备案. 目 ...
- 深入了解webpack前,可以了解的小知识点。
阅读前:文章大概是写,简单用过webpack,想继续深入了解webpack前需要了解的知识.但文章内容跟webpack使用关系并不大. 文章概要: Object.defineProperty call ...
- C#、Java中的一些小知识点总结(持续更新......)
前言:在项目中,有时候一些小的知识,总是容易让人忽略,但是这些功能加在项目中往往十分的有用,因此笔者在这里总结项目中遇到的一些实用的小知识点,以备用,并持续更新...... 1.禁用DataGridV ...
- javascript中关于value的一个小知识点(value既是属性也是变量)
今天在学习input的value值时,发现这么一个小知识点,以前理解不太透彻 [1]以下这种情况是常见情况,会弹出“测试内容” <input type="button" va ...
- Python全栈学习_day002知识点
今日大纲: . while循环 . 格式化输出 . 运算符 . 编码初识 1. while循环 - while 无限循环: while True: # 死循环 print('大悲咒') print(' ...
随机推荐
- Dubbo系列之 (六)服务订阅(3)
辅助链接 Dubbo系列之 (一)SPI扩展 Dubbo系列之 (二)Registry注册中心-注册(1) Dubbo系列之 (三)Registry注册中心-注册(2) Dubbo系列之 (四)服务订 ...
- DNS 劫持/污染
who is dns 劫持 or 污染? 对 劫持 和 污染 这两个名词的理解一直都很混淆,这里就简单的记录一下他俩到底有哪些本质上的区别吧~ DNS 劫持 DNS劫持 即: DNS Hijackin ...
- ARM函数调用总结
ARM架构寄存器介绍 ARM架构下处理器有7种工作模式: 1. USR模式:正常用户模式,在USR模式下进程正常执行 2. FIQ模式(Fast Interrupt Request):处理快速中断模式 ...
- nginx系列(七)静态文件合并combo
根据雅虎性能优化准则,可以将大量的小型JS文件进行合并,用来提高WEB服务器的性能.下面就是笔者的一个实践. 目前必须安装在1.4.+才可以 官方:http://wiki.nginx.org/Http ...
- Ant Jmeter Jenkins生成html测试报告
Ant配置1. 将jmeter安装目录或者源码目录下\apache-jmeter-3.1\extras的ant-jmeter-1.1.1.jar复制到ant安装目录下apache-ant-1.10.3 ...
- C# 读取 ttf字体文件里的 Unicode
因为爬虫要解析 򈃌这种字体编码的值,下载到一个ttf文件,用百度字体编辑器 打开,可以看到每个字符对应的Unicode (数字下方 $23.$2A...这些), 我需要拿到这些映 ...
- SpringBoot 消息国际化配置
一.目的 针对不同地区,设置不同的语言信息. SpringBoot国际化配置文件默认放在classpath:message.properties,如果自定义消息配置文件,需要application.p ...
- linux中root用户查看所有用户的历史操作命令
转载https://blog.csdn.net/qq_27786919/article/details/91353351 1.创建用户审计文件存放目录和审计日志文件 :mkdir -p /var/lo ...
- 【系统之音】Android进程的创建及启动简述
Android系统中的进程(这里不包括init等底层的进程)都是通过Zygote fork而来的,那这些进程的启动流程都是怎样的呢? 这里将Android进程分为两个部分: (1)系统框架进程Syst ...
- Angular用户输入
用户输入 事件绑定 使用 (event) on-event 概念 用户操作 -> DOM事件 用户操作 点击链接 按下按钮 输入文字 DOM事件 $event 类型 any 不能推测属性 可 ...