SQL数据库

时间:2022-02-18 02:28:36

一、重要的SQL命令

  select:从数据库中提取数据

  update:更新数据库中的数据

  delete:删除数据库中的数据

  insert into:插入新数据

  create database:创建新数据库

  alter database:修改数据库

  create table:创建表

  alter table:修改表

  drop table:删除表

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

  drop index:删除索引

 

二、SQL语句

  1、SELECT——从 table_name 表中获取 column_name 列

    SELECT column_name,column_name FROM table_name;

      例:SELECT name,country FROM websites;【从websites表中获取name,country列】

        SELECT *FROM websites【获取websites的所有列】

  

  2、SELECT DISTINCT——从 table_name 表中获取 column_name 列中不同的值

    SELECT DISTINCT column_name, column_name FROM table_name;

      例:SELECT DISTINCT name FROM websites;【从websites表中获取name列不同的值】

  

  3、WHERE——提取满足条件的记录

    SELECT column_name, column_name FROM table_name WHERE column_name operator value;

      例:SELECT * FROM websites WHERE country=‘CN’(如果是数值则不用单引号);【从websites表的country列中找出CN的行】

    WHERE中的运算符

    =  等于

    <>  不等于(在SQL的一些版本中,被写成 !=)

    >  大于

    <  小于

    >=  大于等于

    <=  小于等于

    BETWEEN  在某个范围

    LIKE  搜索某种模式

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

  

  4、AND & OR 运算符

    例1:SELECT * FROM websites WHERE country = ‘CN’ AND alexa > 50;【从websites表中选取国家为CN且alexa排名大于50的所有行】

    例2:SELECT * FROM websites WHERE country = ‘USA’ OR country = ‘CN’;【从websites表中选取国家为USA或者CN的所有行】

    例3:SELECT * FROM websites WHERE alexa > 15 AND (country  = ‘CN‘ OR country = ‘USA‘);【从websites表中选取alexa排名大于15并且国家为‘CN’ 或者‘USA’的所有行】

  

  5、ORDER BY——对结果集按照一个列或者多个列进行排序(升序)

    SELECT column_name, column_name FROM table_name ORDER BY column_name, column_name ASC|DESC(降序)

      例1:SELECT * FROM websies ORDER BY alexa;【从websites表中选取所有网站,并按照alexa列升序排序】

      例2:SELECT * FROM websites ORDER BY alexa DESC;【从websites表中选取所有网站,并按照alexa列降序排序】

      例3:SELECT * FROM websites ORDER BY alexa, country;【从 "Websites" 表中选取所有网站,并按照 "country" 和 "alexa" 列排序】

 

  6、insert into——向表中插入新纪录

    i:无需指定要插入的数据的列名,只需要提供被插入的值即可:

      insert into table_name value (value1, value2, value3,...);

        例:INSERT INTO Websites (name, url, alexa, country) VALUES (百度https://www.baidu.com/4CN);【向 "Websites" 表中插入一个新行】

    ii:需要指定列名以及被插入的值:

      insert into table_name(column1, column2, column3,...) value (value1, value2, value3, ...);

        例:INSERT INTO Websites (name, url, country) VALUES (*, http://*.com/, IND);【插入一个新行,但是只在 "name"、"url" 和 "country" 列插入数据(id 字段会自动更新)】

 

  7、update——更新表中已存在的记录

    updata tabele_name set column1 = value1, column2 = value2,... where some_column  = some_value; 

      WHERE 子句规定哪条记录或者哪些记录需要更新。如果您省略了 WHERE 子句,所有的记录都将被更新!

      例:UPDATE Websites SET alexa=5000, country=USA WHERE name=菜鸟教程;【把 "菜鸟教程" 的 alexa 排名更新为 5000,country 改为 USA】

 

  8、 delete——删除表中的行

    DELETE *FROM table_name WHERE some_column=some_value;

      WHERE 子句规定哪条记录或者哪些记录需要删除。如果您省略了 WHERE 子句,所有的记录都将被删除!

      例:DELETE FROM Websites WHERE name=百度 AND country=CN;【从 "Websites" 表中删除网站名为 "百度" 且国家为 CN 的网站】

 

三、SQL高级教程