刷题笔记(一)
一些小知识点~不积跬步无以至千里
1.关系型与非关系型数据库
(参考网页)
-
关系型数据库:
SQL Server/MySQL/SQLite/ORACLE/MariaDB/PostgreSQL/Access/DB2/Informix/Syase
关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织
优点:
1)易于维护:都是使用表结构,格式一致;
2)使用方便:SQL语言通用,可用于复杂查询;
3)复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。
缺点:
1)读写性能比较差,尤其是海量数据的高效率读写;
2)固定的表结构,灵活度稍欠;
3)高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。 -
非关系型数据库:
键值存储数据库:redis/Memcached/MemcacheDB
图形数据库:Neo4j/InfoGrid
面向文档数据库:mongoDB/CouchDB
列存储数据库:Cassandra/Hbase
非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等。
优点:
1)格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。
2)速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘;
3)高扩展性;
4)成本低:nosql数据库部署简单,基本都是开源软件。
缺点:
1)不提供sql支持,学习和使用成本较高;
2)无事务处理;
3)数据结构相对复杂,复杂查询方面稍欠。
非关系型数据库的分类和比较:
1)文档型
2)key-value型
3)列式数据库
4)图形数据库
2.select into语句与insert into 语句
- insert into 语句用于向表格中插入新的行;
INSERT INTO table_name VALUES (值1, 值2,....)
指定所要插入数据的列:
INSERT INTO table_name (列1, 列2,...)
VALUES (值1, 值2,....)
- select into 是指从一个表中选中数据,然后把数据插入另一个表中。
#把所有的列插入新表
SELECT *
INTO new_table_name [IN externaldatabase]
FROM old_tablename
#只把希望的列插入新表
SELECT column_name(s)