zoukankan      html  css  js  c++  java
  • mysql复习2

    -- 1. 创建和管理表 CREATE TABLE

    -- 方式一:
    CREATE TABLE emp1(
    id INT(10),
    `name` VARCHAR(20),
    salary DOUBLE(10, 2),
    hire_date DATE
    );

    -- 方式二:基于现有表创建新表(相当于表的复制)
    CREATE TABLE emp3
    AS
    SELECT *
    FROM employees;

    CREATE TABLE emp4
    AS
    SELECT employee_id, last_name, salary
    FROM employees
    WHERE department_id = 90;

    -- 基于现有表创建新表,但是不导入数据
    CREATE TABLE emp5
    AS
    SELECT *
    FROM employees
    WHERE 1 = 2;

    -- 2. 修改表 ALTER TALBE

    -- ①添加列
    ALTER TABLE emp4
    ADD age INT(2);

    ALTER TABLE emp4
    ADD gender VARCHAR(2) DEFAULT '女';

    -- ②修改列
    ALTER TABLE emp4
    MODIFY gender VARCHAR(20);

    -- ③重命名列
    ALTER TABLE emp4
    CHANGE gender gender22 VARCHAR(2);

    -- ④删除列
    ALTER TABLE emp4
    DROP COLUMN age;

    -- 3. 重命名表
    ALTER TABLE emp4
    RENAME employees4;

    -- 4. 清空表
    TRUNCATE TABLE emp3;

    -- 5. 删除表
    DROP TABLE employees4;

    -- DDL : 数据定义语言,不可以回滚的,因为都是自动 commit


     

    -- 3. 约束与分页

    -- NOT NULL 非空约束,规定某个字段不能为空
    CREATE TABLE emp7(
    id INT(10) NOT NULL, -- 列级约束
    `name` VARCHAR(20)
    );

    -- 添加非空约束
    ALTER TABLE emp7
    MODIFY `name` VARCHAR(25) NOT NULL;

    -- 取消非空约束
    ALTER TABLE emp7
    MODIFY `name` VARCHAR(25) NULL;

    -- UNIQUE 唯一约束,规定某个字段在整个表中是唯一的
    CREATE TABLE emp8(
    id INT(10),
    `name` VARCHAR(20),
    CONSTRAINT emp8_id_un UNIQUE(id) -- 表级约束
    );

    -- 组合约束
    CREATE TABLE emp9(
    id INT(10),
    `name` VARCHAR(20),
    phone VARCHAR(25),
    email VARCHAR(30),
    CONSTRAINT emp9_phoneAndEmail_un UNIQUE(phone, email)
    );

    -- 添加唯一约束
    ALTER TABLE emp9
    ADD CONSTRAINT emp9_name_un UNIQUE(NAME);

    -- 删除唯一约束
    ALTER TABLE emp9
    DROP INDEX emp9_name_un;

    -- PRIMARY KEY 主键(非空且唯一) : 通常利用主键确定唯一一条数据
    CREATE TABLE emp10(
    id INT(10) PRIMARY KEY AUTO_INCREMENT,
    `name` VARCHAR(20)
    );


    CREATE TABLE emp11(
    id INT(10),
    `name` VARCHAR(20),
    CONSTRAINT emp11_id_pk PRIMARY KEY(id)
    );

    -- 添加主键约束
    ALTER TABLE emp11
    ADD CONSTRAINT emp11_id_pk PRIMARY KEY(id);

    -- 删除主键约束
    ALTER TABLE emp11
    DROP PRIMARY KEY;

    -- CHECK 检查约束
    CREATE TABLE emp13(
    id INT(10),
    salary DOUBLE(10, 2),
    CONSTRAINT emp13_salary_ck CHECK(salary > 3000)
    );

    -- MYSQL 分页(重要)
    -- 公式:(当前页数-1)*每页条数,每页条数
    SELECT employee_id, last_name, salary
    FROM employees
    ORDER BY salary DESC
    LIMIT 20, 10;

  • 相关阅读:
    #轻重链剖分,交互#LOJ 6669 Nauuo and Binary Tree
    #贪心#洛谷 6093 [JSOI2015]套娃
    #根号分治,树上倍增#洛谷 3591 [POI2015]ODW
    #KD-Tree,替罪羊树#洛谷 6224 [BJWC2014]数据
    #K-D Tree#洛谷 2093 [国家集训队]JZPFAR
    nim-lang: UUID shellcode execution(过所有杀软)
    nim-lang 免杀测试:回调函数结合隐写术
    Shellcode Injection via Callbacks(nim学习系列)
    Reflective dll injection(nim 学习系列)
    搭建简易的 http server(nim 学习系列)
  • 原文地址:https://www.cnblogs.com/liuyi13535496566/p/12203864.html
Copyright © 2011-2022 走看看