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;

  • 相关阅读:
    JS实现 div拖拽 限制在屏幕内
    国际化配置simple_form
    simple_form模板templates erb haml
    git rolify
    rails模板生成bootstrap格式的simple_form的erb文件
    rails生成器生成自定义controller模板
    ubuntu 终端常用命令(转)
    Ruby for Rails笔记
    Java基础
    javascript ybmiaov
  • 原文地址:https://www.cnblogs.com/liuyi13535496566/p/12203864.html
Copyright © 2011-2022 走看看