美文网首页
2018.3.19 SQL

2018.3.19 SQL

作者: isaaCyu | 来源:发表于2018-03-19 14:44 被阅读2次

可以把sql分为 数据操作语言(DML)和数据定义语言(DDL)

查询和更新指令构成了 SQL 的 DML 部分:

SELECT - 从数据库表中获取数据
UPDATE - 更新数据库表中的数据
DELETE - 从数据库表中删除数据
INSERT INTO - 向数据库表中插入数据

SQL 中最重要的 DDL 语句:

CREATE DATABASE - 创建新数据库
ALTER DATABASE - 修改数据库
CREATE TABLE - 创建新表
ALTER TABLE - 变更(改变)数据库表
DROP TABLE - 删除表
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引

SELECT

SELECT * FROM TABLE

DISTINCT用来返回唯一不同的值

SELECT DISTINCT FROM TABLE
WHERE

如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。

数据库名 Persons,选取居住在城市 "Beijing" 中的人
SELECT * FROM Persons WHERE City='Beijing'
AND OR 运算符

AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。
如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。
如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。

用AND 显示 所有FirstName为Thomas 并且LastName 为Carter的人

SELECT * FROM Persons WHERE FirstName='Thomas' AND LastName='Carter'

用OR显示 所有FirstName为Thomas 并且LastName 为Carter的人

SELECT * FROM Persons WHERE firstname='Thomas' OR lastname='Carter'
ORDER BY 语句

用于对结果集进行排序。
降序对记录进行排序,可以使用 DESC 关键字。

SELECT Company, OrderNumber FROM Orders ORDER BY Company

升序对记录进行排序,可以使用 ASC 关键字。

SELECT Company, OrderNumber FROM Orders ORDER BY OrderNumber ASC

INSERT INTO

INSERT INTO 语句用于向表中插入新记录。

INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);

UPDATA

UPDATE 语句用于更新表中的记录。

UPDATE Websites 
SET alexa='5000', country='USA'   //set后面是更新的值
WHERE name='菜鸟教程';  //WHERE后面将决定哪一条数据会被修改

注意如果没有WHERE 那么所有的数据都将被修改

在 MySQL 中可以通过设置 sql_safe_updates 这个自带的参数来解决,
当该参数开启的情况下,你必须在update 语句后携带 where 条件,否则就会报错。

set sql_safe_updates=1; 表示开启该参数

DELETE

DELETE 语句用于删除表中的行。

DELETE FROM table_name
WHERE some_column=some_value;
DELETE FROM table_name;  或  DELETE * FROM table_name;
这两条DELETE将会在不改变 表 的结构、属性、索引的情况下删除数据

DROP、TRUNCATE、DELETE的区别
  • DROP test:删除表test,并释放空间,将test删除的一干二净。
  • TRUNCATE test:删除表test里的内容,并释放空间,但不删除表的定义,表的结构还在。
  • DELETE:
    • 1、删除指定数据
      • DELETE FROM test WHERE age=30 AND country='US';
    • 2、删除整个表
      • 仅删除表test内的所有内容,保留表的定义,不释放空间。
      • DELETE FROM test 或者 DELETE FROM test;
      • DELETE * FROM test 或者 DELETE * FROM test;

SELECT TOP子句

下面的 SQL 语句从 "Websites" 表中选取头两条记录:

SELECT * FROM Websites LIMIT 2;

下面的 SQL 语句从 websites 表中选取前面百分之 50 的记录:

SELECT TOP 50 PERCENT * FROM Websites;

LINK

LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。

下面的 两条 SQL 语句分别选取 name 以字母 "G" 开始的所有客户和所有以字母“k”结尾的客户:

1.SELECT * FROM Websites WHERE name LIKE 'G%'; //"%" 符号用于在模式的前后定义通配符(缺省字母)。
2.SELECT * FROM Websites WHERE name LIKE '%k';

下面的 SQL 语句选取 name 包含模式 "oo" 的所有客户 和 不包含模式"oo"的所有客户:

SELECT * FROM Websites WHERE name LIKE '%oo%';
SELECT * FROM Websites WHERE name NOT LIKE '%oo%';

'%a'    //以a结尾的数据

'a%'    //以a开头的数据

'%a%'    //含有a的数据

'_a_'    //三位且中间字母是a的

'_a'    //两位且结尾字母是a的

'a_'    //两位且开头字母是a的

相关文章

  • 2018.3.19 SQL

    可以把sql分为 数据操作语言(DML)和数据定义语言(DDL) 查询和更新指令构成了 SQL 的 DML 部分:...

  • 练板书第四天

    2018.3.19

  • 2018-03-19

    2018.3.19日星期一

  • 同事好诗收集欣赏

    浣溪沙 人 胡芯铭 2018.3.19 ...

  • 2018.3.19

    这个西北偏北的小城,春天是黄色的,像南极洲的白亘古不变! 沙尘过后的清晨,苍穹与大地之间被一片皱巴巴的抹布隔开,灰...

  • 2018.3.19

    飘忽不定的心应该渐渐沉淀,审视自己,已经好久好久没有静下来,就好似那漫天纷飞的落叶,不知道自己将去的泥土在哪儿,任...

  • 2018.3.19

  • 2018.3.19

    熬到一定年纪才懂,你要得起的,只是兀自春夏,囫囵秋冬。 ​​​

  • 2018.3.19

    右手食指螺丝钉取出 今晚没学 再强调一次,对自己来说,自制力是成功的关键!!!

  • 2018.3.19

    没有任何人帮你都是应该的,有时候脸皮要厚,有时候你要适当接受,总之把握好分寸!当这样感受都让你难受,你只能自己强大...

网友评论

      本文标题:2018.3.19 SQL

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