sql基本
SELECT:
select * from table
select 列名 from table
select DISTINCT 列名 from table
INSERT:
insert into table values('','','',''...)
insert into table(列,列..) values('','',..)
UPDATE:
update table set 列=新值 where 列=某值
DELETE:
delete from table where 列=某值
delete * from table (删除数据,不破坏表结构,属性,索引)
TOP:
select top 2 * from table
select * from table limit 2
select top 50 percent * from table (选取50%的记录)
LIKE:
select * from table where 列 NOT LIKE '%lon%';
通配符:
%:替代一个或多个字符
_:一个字符
[ char list]:字符列中任一单个字符
[^char list] 或者[!charlist] :不在字符列中的任一单个字符
select * from table where column like '[ALN]%'; //以A / L / N开头的
IN:
select * from table where column IN (value1,value2,...)
Alias(别名):
select p.Firstname from persons AS p where p.Lastname='John'
JOIN:
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons INNER JOIN Orders ON Persons.Id_P = Orders.Id_P;
JOIN:同INNER JOIN,有匹配的行,再列出
LEFT JOIN:返回左表所有行
RIGHT JOIN:返回右表所有行
FULL JOIN:返回左表,右表所有行
UNION:
SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2
UNION用来合并两个或多个SELECT语句的结果集
UNION内部的SELECT语句必须拥有相同数量的列,列也必须拥有相似的数据类型,SELECT语句的列的顺序必须相同
SELECT INTO:
SELECT * INTO new_table FROM old_table
select into从一个表中选取数据,然后将数据插入另一个表中,常用于创建表的备份,或对记录进行存档
CREATE DATABASE:
CREATE DATABASE my_db
CREATE TABLE:
CREATE TABLE Person(
Id int,
name varchar(25)
)
SQL 约束:
NOT NULL
UNIQUE
PRIMARY KEY
FOREIGN KEY
CHECK
DEFAULT
在创建表或者ALTER TABLE时规定约束
UNIQUE:
创建UNIQUE约束:
ALTER TABLE Person ADD UNIQUE(Id)
ALTER TABLE Person ADD CONSTRAINT uc_PersonID UNIQUE (Id,Lastname)
撤销UNIQUE约束:
ALTER TABLE Person DROP INDEX uc_PersonID
ALTER TABLE Person DROP CONSTRAINT uc_PersonID
PRIMARY KEY:
创建:
ALTER TABLE Person ADD PRIMARY KEY(Id)
ALTER TABLE Person ADD CONSTRAINT pk_PersonID PRIMARY KEY(Id,Lastname)
撤销:
ALTER TABLE Person DROP PRIMARY KEY
ALTER TABLE Person DROP CONSTRAINT pk_PersonID
FOREIGN KEY:
用于预防破坏表之间连接的动作,也可以防止非法数据插入外键列,因为他必须是他指向的那个表中的值之一
创建:
CREATE TABLE Orders
(
Id_O int PRIMARY KEY,
Id_P int FOREIGN KEY REFERENCES Person(Id_P)
)
ALTER TABLE Orders ADD FOREIGN KEY(Id_P) REFERENCES Person(Id_P)
ALTER TABLE Orders ADD CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P) REFERENCES Person(Id_P)
撤销:
ALTER TABLE Orders DROP FOREIGN KEY fk_PerOrder
ALTER TABLE Orders DROP CONSTRAINT fk_PerOrder
CHECK:
对列中的值进行限制
创建:
ALTER TABLE Person ADD CHECK (Id_P>0)
撤销:
ALTER TABLE Person DROP CHECK chk_Person
DEFAULT:
若没有规定其他值,就将默认值添加到新纪录中
创建:
ALTER TABLE Person ALTER City SET DEFAULT '深圳'
撤销:
ALTER TABLE Person ALTER City DROP DEFAULT
CREATE INDEX:
在不读取整表的情况下,索引使数据库可以更快查找数据
CREATE INDEX index_name ON table_name(column_name,column_name)
唯一索引意味着两个行不能拥有相同索引值
CREATE UNIQUE INDEX index_name ON table_name(column_name)
DROP:
删除索引,表(表的结构,属性以及索引)和数据库
ALTER TABLE table_name DROP INDEX index_name
DROP TABLE table_name
DROP DATABASE db_name
TRUNCATE TABLE:
仅删除表数据
TRUNCATE TABLE table_name
ALTER TABLE:
添加列:
ALTER TABLE table_name ADD column_name datatype
删除列:
ALTER TABLE table_name DROP COLUMN column_name
改变列的数据类型:
ALTER TABLE table_name ALTER COLUMN column_name datatype
AUTO_INCREMENT:
默认AUTO_INCREMENT的开始值是1,若要以其他值起始:
ALTER TABLE Person AUTO_INCREMENT=100
sql基本的更多相关文章
- 最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目
最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目 最近一个来自重庆的客户找到走起君,客户的业务是做移动互联网支付,是微信支付收单渠道合作伙伴,数据库里存储的是支付流水和交易流水 ...
- SQL Server 大数据搬迁之文件组备份还原实战
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 解决方案(Solution) 搬迁步骤(Procedure) 搬迁脚本(SQL Codes) ...
- Sql Server系列:分区表操作
1. 分区表简介 分区表在逻辑上是一个表,而物理上是多个表.从用户角度来看,分区表和普通表是一样的.使用分区表的主要目的是为改善大型表以及具有多个访问模式的表的可伸缩性和可管理性. 分区表是把数据按设 ...
- SQL Server中的高可用性(2)----文件与文件组
在谈到SQL Server的高可用性之前,我们首先要谈一谈单实例的高可用性.在单实例的高可用性中,不可忽略的就是文件和文件组的高可用性.SQL Server允许在某些文件损坏或离线的情况下,允 ...
- EntityFramework Core Raw SQL
前言 本节我们来讲讲EF Core中的原始查询,目前在项目中对于简单的查询直接通过EF就可以解决,但是涉及到多表查询时为了一步到位就采用了原始查询的方式进行.下面我们一起来看看. EntityFram ...
- 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)
从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ...
- 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)
从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...
- 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)
从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://w ...
- 从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点)
从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...
- SQL Server on Linux 理由浅析
SQL Server on Linux 理由浅析 今天的爆炸性新闻<SQL Server on Linux>基本上在各大科技媒体上刷屏了 大家看到这个新闻都觉得非常震精,而美股,今天微软开 ...
随机推荐
- Codeforces 1088F(贪心+倍增)
题目链接 题意 构造一颗树使得满足计算方法的结果最小. 思路 考虑两棵树,一棵为题目中的询问构成的树$T1$,一棵为要构造的满足最终答案的树$T2$.从$T1$点权最小的点向外构造$T2$,在$T1$ ...
- vue父子组件之间互相获取data值&调用方法(非props)
vue 子组件调用父组件方法&数据 vue有$parent这么一个属性,在子组件中就能拿到父组件的数据 this.$parent.xxx 就能调用父组件的方法 this.$parent.xxx ...
- matplotlib中的plt.ion()和plt.ioff()函数
转自https://blog.csdn.net/yzy__zju/article/details/85008603 Matplotlib的显示模式默认为阻塞(block)模式,因此若想动态显示图像,则 ...
- FTP:mget匹配文件名后下载
需求:从FTP某目录取每日构建的apk下载到本地 难点:文件名中有构建时间,而这个时间不算固定值,因此文件名不固定 解决方案:mget匹配文件名后下载 BAT版本: :: Filename:Proje ...
- spring中用到哪些设计模式?
设计模式作为工作学习中的枕边书,却时常处于勤说不用的尴尬境地,也不是我们时常忘记,只是一直没有记忆. Spring作为业界的经典框架,无论是在架构设计方面,还是在代码编写方面,都堪称行内典范.好了,话 ...
- 【easy】111. Minimum Depth of Binary Tree求二叉树的最小深度
求二叉树的最小深度: /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; ...
- Linux su切换用户后命令提示符变为bash-4.2$
2018-9-30 19:31:41 星期日 今天遇到一个问题, 给gitlab配置webhook的时候, 一个目录总是不能正确执行git pull 命令, 无任何输出, 根据之前经验, 感觉是权限的 ...
- 拓扑排序(Topological Sorting)
一.什么是拓扑排序 在图论中,拓扑排序(Topological Sorting)是一个有向无环图(DAG, Directed Acyclic Graph)的所有顶点的线性序列.且该序列必须满足下面两个 ...
- Sass 增强语法的样式表
功能: 完全兼容CSS3 相对CSS,扩展了变量.嵌套和mixins 对控制颜色和其他值的非常有用的方法 高级功能,如库的直接控制 良好的格式,自定义输出 语法 对于Sass,有两种语法. 一种叫SC ...
- JavaScript我学之一变量类型
本文是网易云课堂金旭亮老师的课程笔记,记录下来,以供备忘. 变量类型 只有6种 : 四种原始数据类型boolean , number, string , undefine, 其他object,fun ...