美文网首页
SQL Basics

SQL Basics

作者: 西瓜三茶 | 来源:发表于2016-07-26 20:35 被阅读0次

mysql>use RUNOOB;  #use, 选择某个数据库

Database changed

mysql>set names utf8; #对names这一列使用utf8编码

QueryOK,0rows

mysql>SELECT * FROM Websites; #从websites这个数据库里读取数据

SQL - structured query language, 关系型数据库

数据库通常分为层次式数据库、网络式数据库和关系式数据库三种。而不同的数据库是按不同的数据结构来联系和组织的。而在当今的互联网中,最常见的数据库模型主要是两种,即关系型数据库和非关系型数据库。

关系型数据库模型是把复杂的数据结构归结为简单的二元关系(即二维表格形式)。在关系型数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过对这些关联的表格分类、合并、连接或选取等运算来实现数据库的管理。

关系型数据库诞生40多年了,从理论产生发展到现实产品,例如:Oracle和MySQL


NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。

一些最重要的 SQL 命令

SELECT- 从数据库中提取数据

UPDATE- 更新数据库中的数据

DELETE- 从数据库中删除数据

INSERT INTO- 向数据库中插入新数据

CREATE DATABASE- 创建新数据库

ALTER DATABASE- 修改数据库

CREATE TABLE- 创建新表

ALTER TABLE- 变更(改变)数据库表

DROP TABLE- 删除表

CREATE INDEX- 创建索引(搜索键)

DROP INDEX- 删除索引

Select语句

select column1, column2 from TABLE1; #选取两列

select * from TABLE1; 选取所有列

select DISTINCT shoptype from sh_table; #选取餐厅种类中的唯一值,即类型的列表,结果只有这一列

SELECT * FROM Websites WHERE country='CN'; #选取websites表格中,国家名是CN的所有项

SELECT * FROM Websites WHERE id=1; #选数字的时候,不要用引号

where里面可以用的运算符包括>=, =<, != (<>), between, LIKE(模糊), IN(在某个值之间)

SELECT * FROM Websites

WHERE alexa > 15 #某个值大于15

AND (country='CN' OR country='USA'); 并且满足(国家是CN或者USA)

升序(ASC)、降序排列(DESC)

SELECT * FROM Websites

ORDER BY alexa DESC;

也可以按两列排序:

SELECT * FROM Websites

ORDER BY country,alexa;

插值

在指定列插入数值:

INSERT INTO Websites (name, url, country)

VALUES ('stackoverflow', 'http://stackoverflow.com/', 'IND');

即在name, url, country三个列插入数值,数值为stackoverflow等

更新(更改值)

假设我们要把 "菜鸟教程" 的 alexa 排名更新为 5000,country 改为 USA。

我们使用下面的 SQL 语句:

UPDATE Websites

SET alexa='5000', country='USA'

WHERE name='菜鸟教程';

如果没有where条件,就把所有的值都改了。

删除

假设我们要从 "Websites" 表中删除网站名为 "百度" 且国家为 CN 的网站 。

我们使用下面的 SQL 语句:

DELETE FROM Websites

WHERE name='百度' AND country='CN';

相关文章

网友评论

      本文标题:SQL Basics

      本文链接:https://www.haomeiwen.com/subject/odznjttx.html