美文网首页
SQL学习-低阶

SQL学习-低阶

作者: Qiqi_da81 | 来源:发表于2019-04-19 17:04 被阅读0次

    sql是个结构化查询语言

    说人话就是,它用各种语言命令去操作(多是查询)网站的数据库中的数据。

    1.用sql做查询,需要先有一个能显示网站数据的网站

    RDBMS 数据库程序(比如 MS Access、SQL Server、MySQL)

    使用服务器端脚本语言,比如 PHP 或 ASP

    使用 SQL 来获取您想要的数据

    使用 HTML / CSS

    安装好数据库程序后,要访问数据表?

    sql的语言命令对大小写不敏感,需要在每句语句后加分号

    2.SQL重要的操作有

    select:从数据库中提取数据

    update:更新数据库中的数据

    delete:从数据库中删除数据

    insert into:从数据库中删除数据

    create database:创建新数据库

    alter database:修改数据库

    create table:创建新表

    alter table:变更(改变)数据库表

    drop table:删除表

    create index:创建索引(搜索键)

    drop index:删除索引

    3. select语句:选择数据

    SELECT column_name,column_name

    FROM table_name;

    例如:websites数据表

    SELECT name,country FROM Websites;

    选择的是数据表websites中name,country两列的数据

    如果选择表中所有列的数据:

    SELECT * FROM Websites;

    4.select语句去除重复值

    SELECT DISTINCT column_name,column_name

    FROM table_name;

    例如:

    SELECT DISTINCT country FROM Websites;

    5.where语句,用于过滤功能

    SELECT column_name,column_name

    FROM table_name

    WHERE column_name operator value;

    例如:

    SELECT * FROM Websites WHERE country='CN';


    文本字段 vs. 数值字段

    SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。

    在上个实例中 'CN' 文本字段使用了单引号。

    如果是数值字段,不要使用引号。

    例如:

    SELECT * FROM Websites WHERE id=1;

    运算符描述

    =等于

    <>不等于。注释:在 SQL 的一些版本中,该操作符可被写成 !=

    >大于

    <小于

    >=大于等于

    <=小于等于

    BETWEEN在某个范围内

    LIKE搜索某种模式

    IN指定针对某个列的多个可能值

    5.SQL AND & OR 运算符

    如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。

    如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。

    例如:从 "Websites" 表中选取国家为 "CN" 且alexa排名大于 "50" 的所有网站

    SELECT * FROM WebsitesWHERE country='CN'AND alexa > 50;

    例如:从 "Websites" 表中选取国家为 "USA" 或者 "CN" 的所有客户

    SELECT * FROM WebsitesWHERE country='USA'OR country='CN';

    结合And&OR

    从 "Websites" 表中选取 alexa 排名大于 "15" 且国家为 "CN" 或 "USA" 的所有网站

    SELECT * FROM Websites WHERE alexa > 15AND (country='CN' OR country='USA');

    6.ORDER BY 关键字

    ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。

    ORDER BY 关键字默认按照升序对记录进行排序。

    如果需要按照降序对记录进行排序,您可以使用 DESC 关键字。

    SQL ORDER BY 语法

    SELECT column_name,column_name

    FROM table_name

    ORDER BY column_name,column_name ASC|DESC;

    例如:从 "Websites" 表中选取所有网站,并按照 "alexa" 列排序

    SELECT * FROM Websites ORDER BY alexa;

    例如:从 "Websites" 表中选取所有网站,并按照 "alexa" 列降序排序

    SELECT * FROM Websites ORDER BY alexa DESC

    从 "Websites" 表中选取所有网站,并按照 "country" 和 "alexa" 列排序,先按照country列排序后,alexa再按照country列来排序

    SELECT * FROM Websites ORDER BY country,alexa;

    7.SQL INSERT INTO 语句插入新记录

    INSERT INTO 语句用于向表中插入新记录,可以有两种编写形式

    第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:

    INSERT INTO table_name

    VALUES (value1,value2,value3,...);

    第二种形式需要指定列名及被插入的值:

    INSERT INTO table_name (column1,column2,column3,...)

    VALUES (value1,value2,value3,...);

    例如:要向 "Websites" 表中插入一个新行

    INSERT INTO Websites (name, url, alexa, country)

    VALUES ('百度','https://www.baidu.com/','4','CN');

    在指定的列插入数据,只在 "name"、"url" 和 "country" 列插入数据(id 字段会自动更新),空余的alexa列会自动填充值0

    INSERT INTO Websites (name, url, country)

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

    7.SQL UPDATE 语句更新表中的记录

    UPDATE 语句用于更新表中已存在的记录,SQL UPDATE 语法

    UPDATE table_name

    SET column1=value1,column2=value2,...

    WHERE some_column=some_value;

    例如:要把 "菜鸟教程" 的 alexa 排名更新为 5000,country 改为 USA

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

    WHERE name='菜鸟教程';

    8.SQL DELETE 语句删除表中的记录

    DELETE 语句用于删除表中的行,SQL DELETE 语法

    DELETE FROM table_name

    WHERE some_column=some_value;

    例如:要从 "Websites" 表中删除网站名为 "百度" 且国家为 CN 的网站

    DELETE FROM Websites

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

    相关文章

      网友评论

          本文标题:SQL学习-低阶

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