Django 学习笔记-6 数据库-1-SQL 基础

作者: 游文影月志 | 来源:发表于2021-04-06 20:59 被阅读0次

    数据库相关的几个名词:

    • DB: Database 数据库
    • DBMS: DataBase Management System 数据库管理系统
    • DBA: DataBase Administrator 数据库管理员
    • SQL: Structured Query Language 结构化查询语言

    1. SQL 基础

    1.1 SQL 的特点

    • 是关系数据库的标准语言
    • 简单易学,功能极强,完成核心功能只用了9个动词:
    SQL 功能 动词
    查询 SELECT
    定义 CREATEDROPALTER
    操纵 INSERTUPDATEDELETE
    控制 GRANTREVOKE

    1.2 SQL 基本语法:

    • SQL 的注释是以两个连字符(--)开头
    • 每个命令都要以分号结尾
    • SQL 不区分关键字的大小写,但遵循大写关键字的书写惯例,有助于将关键字和数据库、表、列名区分开来
    • 但是 SQL 对数据库名、表名、列名都是区分大小写的
    • 每条命令是可以换行的
    -- 创建一个数据库
    CREATE DATABASE databaseName;
    
    -- 删除一个数据库
    DROP DATABASE databaseName;
    
    -- 显示所有可用的数据库
    SHOW DATABASE;
    
    -- 使用已存在的名为 employees 数据库
    USE employees;
    
    -- 从当前数据库 employees 的 departments 表中选取所有行和列
    SELECT * FROM departments;
    
    -- 检索所有行,但只选取 dept_no 和 dept_name 两列
    SELECT dept_no,
           dept_name FROM departments;
    
    -- 检索所有列,但只选取 5 行
    SELECT * FROM departments LIMIT 5;
    
    -- 从 departments 表中检索 dept_name 列的值,其中 dept_name 的值包含字符串 'en'
    SELECT dept_name FROM departments WHERE dept_name LIKE '%en%';
    
    -- 从 departments 表中检索所有列,其中 dept_name 列的值以 'S' 开头,并紧随其后为4个字符
    SELECT * FROM departments WHERE dept_name LIKE 'S____';
    
    -- 从 titles 表中选取 title 值并去重
    SELECT DISTINCT title FROM titles;
    
    -- 从 titles 表中选取 title 值并去重,同时还要以 title 排序(区分大小写)
    SELECT DISTINCT title FROM titles ORDER BY title;
    
    -- 显示 departments 表的行数
    SELECT COUNT(*) FROM departments;
    
    -- 选取 employees 表中的 emp_no、first_name 和 last_name 列,
    -- titles 表中的 title、from_date、to_date 列,
    -- 要满足一个条件: employees 表中的 emp_no 要和 titles 表中的 emp_no 相等
    -- 从上述结果中选取 10 行
    SELECT e.emp_no, e.first_name, e.last_name,
           t.title, t.from_date, t.to_date
    FROM titles AS t
    INNER JOIN employees AS e
    ON e.emp_no = t.emp_no LIMIT 10;
    
    
    -- 在当前数据库中创建一个名为 names 的表,
    -- 这张表有两个字段 first_name 和 last_name, 它们的数据类型都为 VARCHAR 且最大字符长度为 20
    CREATE TABLE names (first_name VARCHAR(20), last_name VARCHAR(20));
    
    -- 向 names 表中添加一条数据
    INSERT INTO names VALUES('Donald', 'Chamberlin');
    
    -- 将 names 表中所有 last_name 为 Chamberlin 的行中的 first_name 改为 Edward 
    UPDATE names SET first_name='Edward' WHERE last_name='Chamberlin';
    
    -- 删除 names 表中所有 last_name 以 'C' 开头的行
    DELETE FROM names WHERE last_name LIKE 'C%';
    
    -- 删除 names 表中所有行,只保留一张空表
    DELETE FROM names;
    
    -- 删除整个 names 表
    DROP TABLE names;
    
    

    相关文章

      网友评论

        本文标题:Django 学习笔记-6 数据库-1-SQL 基础

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