志在指尖
用双手敲打未来

sql语句(sql菜鸟教程笔记)

sql语句

界说
NoSQL(NoSQL=NotOnlySQL),意即”不仅仅是SQL”。
NoSQL用于超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户搜集万亿比特的数据)。这些类型的数据存储不需求固定的形式,无需多余操作就能够横向扩展。
联络型数据库遵循ACID规矩
业务在英文中是transaction,和现实世界中的交易很相似,它有如下四个特性:
A(Atomicity)原子性、C(Consistency)一致性、I(Isolation)独立性、D(Durability)持久性
RDBMSvsNoSQL
RDBMS*
高度组织化结构化数据
结构化查询言语(SQL)(SQL)
数据和联络都存储在独自的表中。
数据操作言语,数据界说言语
严厉的一致性
基础业务
NoSQL*
代表着不仅仅是SQL
没有声明性查询言语
没有预界说的形式
-键-值对存储,列存储,文档存储,图形数据库
终究一致性,而非ACID特点
非结构化和不行预知的数据
CAP定理:CAP理论的核心是:一个分布式体系不行能一起很好的满意一致性,可用性和分区容错性这三个需求,最多只能一起较好的满意两个。
高性能,高可用性和可伸缩性
NoSQL的长处/缺陷
长处:
高可扩展性
分布式计算
低成本
架构的灵活性,半结构化数据
没有复杂的联络
缺陷:
没有标准化
有限的查询功用(到目前为止)
终究一致是不直观的程序
BASE
BASE是NoSQL数据库通常对可用性及一致性的弱要求原则:
BasicallyAvailble–根本可用
Soft-state–软状态/柔性业务。”Softstate”能够理解为”无衔接”的,而”Hardstate”是”面向衔接”的
EventualConsistency–终究一致性终究一致性,也是是ACID的终究意图sql语句
文档存储
MongoDB
CouchDB
文档存储一般用相似json的格局存储,存储的内容是文档型的。这样也就有有机会对某些字段树立索引,完成联络数据库的某些功用。
key-value存储
TokyoCabinet/Tyrant
BerkeleyDB
MemcacheDB
Redis
能够经过key快速查询到其value。一般来说,存储不论value的格局,照单全收。(Redis包含了其他功用)
语法
衔接
”’mongodb://[username:password@]host1[:port1][,host2[:port2],…[,hostN[:portN]]][/[database][?options]]”’
创立数据库
useDATABASE_NAME假如数据库不存在,则创立数据库,否则切换到指定数据库。
db当时数据库
showdbs一切数据库
db.runoob.insert({“name”:”菜鸟教程”})
删去数据库
db.dropDatabase()删去当时数据库
删去调集
db.collection.drop()用法:db.site.drop()
showtables显现一切调集
刺进文档
db.COLLECTION_NAME.insert(document)
db.col.save(document)假如不指定_id字段save()办法相似于insert()办法。假如指定_id字段,则会更新该_id的数据。
db.col.find()查看已刺进文档
update()办法
db.collection.update(,,{upsert:,multi:,
writeConcern:})
save()办法
db.collection.save(,{writeConcern:})save()办法经过传入的文档来替换已有文档
删去文档
db.collection.remove(,)justOne:(可选)假如设为true或1,则只删去一个文档。
查询文档
db.collection.find(query,projection)
projection:可选,运用投影操作符指定回来的键。查询时回来文档中一切键值,只需省掉该参数即可(默认省掉)。
若不指定projection,则默认回来一切键,指定projection格局如下,有两种形式(两种形式不行混用(由于这样的话无法揣度其他键是否应回来))
db.collection.find(query,{title:1,by:1})//inclusion形式指定回来的键,不回来其他键
db.collection.find(query,{title:0,by:0})//exclusion形式指定不回来的键,回来其他键
db.col.find().pretty()pretty()办法以格局化的方法来显现一切文档。
操作
格局
范例
RDBMS中的相似语句
等于
{:}
db.col.find({“by”:”菜鸟教程”}).pretty()
whereby=’菜鸟教程’
小于
{:{$lt:}}
db.col.find({“likes”:{$lt:50}}).pretty()
wherelikes<50
小于或等于
{:{$lte:}}
db.col.find({“likes”:{$lte:50}}).pretty()
wherelikes<=50
大于
{:{$gt:}}
db.col.find({“likes”:{$gt:50}}).pretty()
wherelikes>50
大于或等于
{:{$gte:}}
db.col.find({“likes”:{$gte:50}}).pretty()
wherelikes>=50
不等于
{:{$ne:}}
db.col.find({“likes”:{$ne:50}}).pretty()
wherelikes!=50
MongoDBAND条件
db.col.find({key1:value1,key2:value2}).pretty()
MongoDBOR条件
db.col.find({$or:[{key1:value1},{key2:value2}]}).pretty()
AND和OR联合运用
db.col.find({“likes”:{$gt:50},$or:[{“by”:”菜鸟教程”},{“title”:”MongoDB教程”}]}).pretty()
MongoDB操作符
$gt——–greaterthan>
$gte———gtequal>=
$lt——–lessthan<
$lte———ltequal<=
$ne———–notequal!=
$eq——–equal=
$type操作符
db.col.find({“title”:{$type:2}})
Double
1
String
2
Object
3
Array
4
Binarydata
5
Undefined
6
已抛弃。
Objectid
7
Boolean
8
Date
9
Null
10
RegularExpression
11
JavaScript
13
Symbol
14
JavaScript(withscope)
15
32-bitinteger
16
Timestamp
17
64-bitinteger
18
Minkey
255
Querywith-1.
Maxkey
127
MongoDBLimit()办法
db.COLLECTION_NAME.find().limit(NUMBER)
MongoDBSkip()办法
db.COLLECTION_NAME.find().skip(NUMBER).limit(NUMBER)
当查询时一起运用sort,skip,limit,不管方位先后,最早执行次序sort再skip再limit。*
补充阐明skip和limit办法只合适小数据量分页,假如是百万级功率就会十分低,由于skip办法是一条条数据数过去的,建议运用where_limit
MongoDBsort()办法
db.COLLECTION_NAME.find().sort({KEY:1})
MongoDB索引
db.COLLECTION_NAME.ensureIndex({KEY:1})语法中Key值为你要创立的索引字段,1为指定按升序创立索引,假如你想按降序来创立索引指定为-1即可。sql
ensureIndex()接纳可选参数,可选参数列表如下:
(db.values.ensureIndex({open:1,close:1},{background:true}))
Parameter
Type
Description
background
Boolean
建索引过程会阻塞其它数据库操作,background可指定以后台方法创立索引,即添加”background”可选参数。”background”默认值为false。
unique
Boolean
树立的索引是否仅有。指定为true创立仅有索引。默认值为false.
name
string
索引的称号。假如未指定,MongoDB的经过衔接索引的字段名和排序次序生成一个索引称号。
dropDups
Boolean
在树立仅有索引时是否删去重复记录,指定true创立仅有索引。默认值为false.
sparse
Boolean
对文档中不存在的字段数据不启用索引;这个参数需求特别注意,假如设置为true的话,在索引字段中不会查询出不包含对应字段的文档.。默认值为false.
expireAfterSeconds
integer
指定一个以秒为单位的数值,完成TTL设定,设定调集的生计时刻。
v
indexversion
索引的版别号。默认的索引版别取决于mongod创立索引时运转的版别。
weights
document
索引权重值,数值在1到99,999之间,表示该索引相关于其他索引字段的得分权重。
default_language
string
关于文本索引,该参数决议了停用词及词干和词器的规矩的列表。默认为英语
language_override
string
关于文本索引,该参数指定了包含在文档中的字段名,言语覆盖默认的language,默认值为language.
MongoDB聚合
db.COLLECTION_NAME.aggregate(AGGREGATE_OPERATION)
db.mycol.aggregate([{$group:{_id:”$by_user”,num_tutorial:{$sum:1}}}])

sql菜鸟教程笔记

创立数据库
CREATEDATABASEdatabase-name
删去数据库
dropdatabasedbname
创立新表
createtabletabname(col1type1[notnull][primarykey],col2type2[notnull],..)
删去新表
droptabletabname
增加一个列
Altertabletabnameaddcolumncoltype
添加主键
Altertabletabnameaddprimarykey(col)
删去主键
Altertabletabnamedropprimarykey(col)
创立索引
create[unique]indexidxnameontabname(col….)
删去索引
dropindexidxname
创立视图
createviewviewnameasselectstatement
删去视图
dropviewviewname
常见句子
更新:updatetable1setfield1=value1where规模
查找:select*fromtable1wherefield1like’%value1%’(一切包括‘value1’这个形式的字符串)
排序:select*fromtable1orderbyfield1,field2[desc]
求和:selectsum(field1)assumvaluefromtable1
平均:selectavg(field1)asavgvaluefromtable1
最大:selectmax(field1)asmaxvaluefromtable1
最小:selectmin(field1)asminvaluefromtable1[separator]

未经允许不得转载:IT技术网站 » sql语句(sql菜鸟教程笔记)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载