ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

SQL学习笔记

SQL学习笔记 sql练习http://xuesql.cn/SQL, 全称为Structured Query Language结构化查询语言) 要讲SQL就绕不开database数据库, 平时所说的数据库一般就是指的Relational database(关系型数据库)数据库是用来存储大量数据的一种软件SQL是用来操作数据里的数据: 查询、更新、写入数据等如果把数据库比作盘子那数据就是盘子里的菜SQL则是筷子。因为SQL和数据库是天生的一对又相对简单目前世界上大部分网站和APP背后的数据都是建立在SQL数据库基础之上。大家应该或多或少听说过一些数据库比如SQLite,MySQL,Postgres,Oracle和Microsoft SQL Server. 这几个数据库(可以理解为软件)是目前比较流行的一些数据库。所有这些数据库都支持标准的SQL换句话说,你学会了SQL就可以对这些数据库做数据操作了 当然上面的每一种数据库都有自己的特性和适用范围想象一下你家有 不同尺寸的盘子).关系型数据库Relational databases)数据库由若干张表(Table)组成这里说的数据Table很像Excel里的表; 正如Excel里的表格Table也是由行(rows)和列(columns)组成一个Table存储一个类别的数据每一行是一条数据每一列是这种数据的一个属性 Table就像一个二维的表格列(columns)是有限固定的行(rows)是无限不固定的举个例子, 比如我们数据库里有一张表(Table). 是用来存储世界上所有的狗每一行(rows)是一条狗的信息。那么你会在这个狗Table里存储 哪些狗的属性列(columns)呢比如 编号名字体重身高品种年龄毛发颜色Table表: DogId# Name(名字# Weight体重# Height (身高# Type (品种)# Age (月龄)# Color (肤色)1Mike328吉娃娃10白2Sala6.540柴犬15黄3黑狮21.545藏獒26黑4大圣1542牧羊犬20黄5Boy5.524蝴蝶犬6白.....................上面就是一个Dog表的简单展示像这样一个狗数据库里除了这张狗Dog表还可能存在其他的表比如有一张表是存狗品种信息 另外有一张表是存狗主人信息的 ...数据库数据的集合通常是表的集合表数据库中的数据存储单元由行和列组成列表中的一个字段每列代表数据的一种属性行表中的一个数据记录每行包含一组相关的数据操作类型查询SELECT、插入INSERT、更新UPDATE、删除DELETE等语法规范一般SQL 关键字大写如SELECT,WHERE,AND,OR也可小写。 大写关键字有助于区分关键字、表名、列名让 SQL更容易理解SELECT *FROM movies;全部数据SELECT titleFROM movies所有电影标题SELECT 11输出数学计算结果SELECT count(*)FROM movies电影总条数SELECT title,directorFROM moviesWHERE Id 5id小于5的标题和导演条件查询// 1.查询SELECT column1, column2 FROM table_name;// 2.向数据库表中插入新的数据行。INSERT INTO table_name (column1, column2) VALUES (value1, value2)// 3.用于修改现有数据。UPDATE table_name SET column1 value1 WHERE condition;// 4.用于删除数据行。DELETE FROM table_name WHERE condition;// 5.用于创建一个新的数据库表CREATE TABLE table_name (column1 datatype,column2 datatype);// 6.用于删除一个数据库表DROP TABLE table_name;// 7.用于修改表的结构比如添加或删除列ALTER TABLE table_name ADD column_name datatype;sqlSQL 条件查询WHERE用于指定条件。SELECT column1 FROM table_name WHERE condition;AND/OR用于组合多个条件。SELECT column1 FROM table_name WHERE condition1 AND condition2; SELECT column1 FROM table_name WHERE condition1 OR condition2;LIKE用于模式匹配查询。SELECT column1 FROM table_name WHERE column2 LIKE pattern;BETWEEN用于选取范围内的数据。SELECT column1 FROM table_name WHERE column2 BETWEEN value1 AND value2;IN用于匹配一个集合中的值。SELECT column1 FROM table_name WHERE column2 IN (value1, value2, value3);SELECT查询的WHERE子句. 一个查询的WHERE子句用来描述哪些行应该进入结果具体就是通过 condition条件 限定这些行的属性满足某些具体条件。比如WHERE 体重大于 10KG的狗。你可以把WHERE想象成一个 筛子每一个特定的筛子都可以筛下某些豆子。条件查询语法SELECT column, another_column, … FROM mytableWHEREconditionAND/ORanother_conditionAND/OR …;注这里的 condition 都是描述属性列的具体会在下面的表格体现。可以用ANDorOR这两个关键字来组装多个条件表示并且或者 (ie. num_wheels 4 AND doors 2 这个组合表示 num_wheels属性 大于等于 4 并且 doors 属性小于等于 2). 下面的具体语法规则可以用来筛选数字属性列包括 整数浮点数 :Operator关键字Condition意思SQL Example(例子, !, , , Standard numerical operators 基础的 大于等于等比较col_name ! 4BETWEEN … AND …Number is within range of two values (inclusive) 在两个数之间col_name BETWEEN 1.5 AND 10.5NOT BETWEEN … AND …Number is not within range of two values (inclusive) 不在两个数之间col_name NOT BETWEEN 1 AND 10IN (…)Number exists in a list 在一个列表col_name IN (2, 4, 6)NOT IN (…)Number does not exist in a list 不在一个列表col_name NOT IN (1, 3, 5)SQL 常用函数COUNT: 计数。SELECT COUNT(column1) FROM table_name;SUM: 求和。SELECT SUM(column1) FROM table_name;AVG: 平均值。SELECT AVG(column1) FROM table_name;MAX/MIN: 最大值/最小值SELECT MAX(column1) FROM table_name; SELECT MIN(column1) FROM table_name;
返回列表