这是我在做实验的时候总结的,随着学习可能会做更多的小总结

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学习 小知识点(一)的更多相关文章

  1. SQL 学习小笔记

    1.FOUND_ROWS() 题目: ,; 在上边sql中使用什么选项可以使 SELECT FOUND_ROWS()忽略LIMIT子句,返回总数? *答案* : SQL_CALC_FOUND_ROWS ...

  2. oracle学习小知识点总结

    登陆数据库:sqlplus "/as sysdba" window身份验证,不需要用户名和密码. 查看数据库状态: select status from v$instance(v$ ...

  3. 刚接触Linux,菜鸟必备的小知识点(一)

    身为一个将要大四的学生,而且还是学计算机的没有接触过linux简直是羞愧难当.这个假期做了一个软件测试员,必须要熟悉linux的操作,所以对于我这个菜鸟我也就说几点比较重要的小知识点吧. 第一.cd指 ...

  4. js中关于value的一个小知识点(value既是属性也是变量)

    今天在学习input的value值时,发现这么一个小知识点,以前理解不太透彻. [1]以下这种情况是常见情况,会弹出“测试内容” <input type="button" v ...

  5. TERADATA SQL学习随笔<一>

    此博客内容简介及目录 http://www.cnblogs.com/weibaar/p/6644261.html 最近在TERADATA环境学习SQL.在这里记录一下学习中查过的知识点,作为备案. 目 ...

  6. 深入了解webpack前,可以了解的小知识点。

    阅读前:文章大概是写,简单用过webpack,想继续深入了解webpack前需要了解的知识.但文章内容跟webpack使用关系并不大. 文章概要: Object.defineProperty call ...

  7. C#、Java中的一些小知识点总结(持续更新......)

    前言:在项目中,有时候一些小的知识,总是容易让人忽略,但是这些功能加在项目中往往十分的有用,因此笔者在这里总结项目中遇到的一些实用的小知识点,以备用,并持续更新...... 1.禁用DataGridV ...

  8. javascript中关于value的一个小知识点(value既是属性也是变量)

    今天在学习input的value值时,发现这么一个小知识点,以前理解不太透彻 [1]以下这种情况是常见情况,会弹出“测试内容” <input type="button" va ...

  9. Python全栈学习_day002知识点

    今日大纲: . while循环 . 格式化输出 . 运算符 . 编码初识 1. while循环 - while 无限循环: while True: # 死循环 print('大悲咒') print(' ...

随机推荐

  1. HTTPS建立过程

    由于HTTPS建立过程经常忘记,固记录 HTTPS建立流程 客户端发起SSL连接 服务端发送证书(证书中包含了服务端公钥) 客户端根据已有证书判断是否是可信任的(客户端决定是否继续) 服务端要求客户端 ...

  2. 经典SQL问题:Top 10%

    学生表: create table hy_student( id number(4,0) primary key, name nvarchar2(20) not null, score number( ...

  3. [bash]用于查找指定格式目录的程序

    功能: 在指定目录下查找符合yyyy-MM-dd(-d)nnn模式的目录名,例如2020-03-22-b888 目标目录情况: [root@localhost testfolder]# ll tota ...

  4. 借助FreeHttp任意篡改Websocket报文(Websocket改包)

    前言 作为Web应用中最常见的数据传输协议之一的Websocket,在我们日常工作中也势必会经常使用到,而在调试或测试中我们常常也有直接改变Websocket数据报文以确认其对应用的影响的需求,本文将 ...

  5. Ubuntu下开启/关闭防火墙及端口

    有管理员权限可省略sudo. 1.查看端口开启状态 sudo ufw status 2.开启某个端口(以8866为例) sudo ufw allow 8866 3.开启防火墙 sudo ufw ena ...

  6. Mybatis如何执行Select语句,你真的知道吗?

    持续原创输出,点击上方蓝字关注我吧 作者:不才陈某 博客:https://chenjiabing666.github.io 前言 本篇文章是Myabtis源码分析的第三篇,前两篇分别介绍了Mybati ...

  7. python3 变量

    python 3变量名不能以数字开头但能数字结尾 变量名大小写敏感 在多个单词组成的变量名中以下划线间隔

  8. 云计算openstack共享组件——消息队列rabbitmq(3)

    一.MQ 全称为 Message Queue, 消息队列( MQ ) 是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们. 消息传 ...

  9. spring boot之Thymeleaf

    没怎么仔细研究,就是spring boot的服务器需要一个登录界面,用这个实现了一个白板式的页面. https://blog.csdn.net/yelllowcong/article/details/ ...

  10. python3 函数的参数

    函数的参数 形参(函数定义时) + 实参(函数调用时) 形参:形式参数 在函数的定义处定义的参数,比如def func(参数1, 参数2, 参数3...) 普通参数(位置参数), 默认参数,普通收集参 ...