SQL-基础01

什么是SQL?

  • SQL 指结构化查询语言
  • SQL 是我们有能力访问数据库
  • SQL 是一种 ANSI 的标准计算机语言 (ANSI,美国国家标准化组织)

SQL能做什么?

  • SQL 面向数据库执行查询
  • SQL 可从数据库取回数据
  • SQL 可在数据库中插入新的记录
  • SQL 可更新数据库中的数据
  • SQL 可从数据库中删除数据
  • SQL 可创建新数据库
  • SQL 可在数据库中创建新表
  • SQL 可在数据库中创建存储过程
  • SQL 可在数据库中创建视图
  • SQL 可以设置表、存储过程和视图的权限

RDBMS

RDBMS 指的是 关系型数据库管理系统

RDBMS 是 SQL 的基础,同样也是所有现代数据库系统的基础,比如 MS SQL Server 、IBM DB2 、Oracle 、MySQL 以及 Microsoft Access 。

RDBMS 中的数据存储在被称为表(table)的数据库对象中。

表是相关的数据项的集合,它由列和行组成。

SQL 结构化查询语句

SQL(结构化查询语句)是用于执行查询的语法。但是SQL语言也包含用于更新、插入和删除记录的语法。

DML (数据操作语言) -查询和更新指令构成了 SQL 的 DML 部分:

  • SELECT - 从数据库表中获取数据

    1
    2
    3
    4
    select * from 表名;

    --去重查询
    select distinct 字段名 from 表名;
  • UPDATE - 更细数据库表中的数据

    1
    2
    3
    4
    5
    --更新某一行的一个列
    update 表名 set 字段名 = 新值 where 字段名 = 某值;

    --更新某一行的若干列
    update 表名 set 字段名1 = 新值,字段名2 = 新值 where 字段名 = 某值;
  • DELETE - 从数据库中删除数据

    1
    2
    3
    4
    5
    --删除所有
    delete from 表名;

    --删除行
    delete from 表名 where 字段名 = 值;
  • INSERT INTO - 向数据库表中插入数据

    1
    2
    3
    4
    5
    --全字段添加
    insert into 表名 values (值1,值2,值3,...);

    --指定字段添加
    insert into 表名 (字段1,字段2,...) values (值1,值2,...);

SQL 的数据定义语言(DDL)部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。

SQL 中最重要的 DDL (数据定义语言)

  • CREATE DATABASE - 创建新数据库

    1
    create database 数据库名;
  • ALTER DATABASE - 修改数据库

  • DROP DATABASE - 删除数据库

    1
    drop database 数据库名称;
  • CREATE TABLE - 创建新表

    1
    create table 表名 (字段名1 数据类型,字段名2 数据类型,字段名3 数据类型,.....)
  • ALTER TABLE - 变更(改变)数据库表

    1
    2
    3
    4
    5
    6
    7
    8
    -- 添加字段
    alter table 表名 add 字段名 数据类型

    --删除字段 --某些数据库系统不允许在这种数据库表中删除列的方式
    alter table 表名 drop column 字段名

    --改变表中列的数据类型
    alter table 表名 alter column 字段名 数据类型
  • DROP TABLE - 删除表

    1
    2
    3
    4
    5
    //删除表(包括表的结构、属性以及索引都会删除)
    drop table 表名;

    //只是删除表内数据,不删除表本身
    TRUNCATE table 表名;
  • CREATE INDEX - 创建索引(搜索键)

    1
    create index 下标名;
  • DROP INDEX -删除索引

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    --Microsoft SQLjet
    drop index 索引名 on 表名;

    --MS SQL Sever
    drop index 表名.下标名;

    --IBM DB2 和 Oracle 语法
    drop index 下标名;

    --MySQL
    alter table 表名 drop index 下标名;

五、SQL 基础

where 子句

​ 有条件的从表中选取数据,可将 where 子句添加到 select 语句中。

1
select 字段名 from 表名 where 字段名 运算符 值

and 和 or 运算符

​ 条件语句取交集或者并集的关系运算符

1
select * from 表名 where 条件1 and 条件2 or 条件1 

order by 语句

​ order by 语句用于对结果集进行排序,默认是按照升序(ASC)排序,如果需要降序使用DESC。

1
select * from 表名 order by 字段名 ( asc or desc