zoukankan      html  css  js  c++  java
  • 六:创建和管理表

    创建和管理表:

    创建数据库

    创建表

    描述各种数据类型

    修改表的定义

    删除,重命名和清空表

    (1)创建数据库

    创建一个保存员工信息的数据库

    create database employees;

    l 相关其他命令

    show databases;查看当前所有数据库

    use employees;“使用”一个数据库,使其作为当前数据库

    (2)创建表

     CREATE TABLE

    必须具备:

    – CREATE TABLE权限

    存储空间

    必须指定:

    表名

    列名, 数据类型,  尺寸

    CREATE TABLE dept
    (   deptno  INT(2),
    dname  VARCHAR(14),
    loc  VARCHAR(13)
    );

    常用数据类型:数据库字段的类型

    INT             使用4个字节保存整数数据

    CHAR(size)       定长字符数据。若未指定,默认为1个字符,最大长度255

    VARCHAR(size)    可变长字符数据,根据字符串实际长度保存,必须指定长度

    FLOAT(M,D)      单精度,M=整数位+小数位,D=小数位。 D<=M<=255,0<=D<=30

    DOUBLE(M,D)     双精度。D<=M<=255,0<=D<=30,默认M+D<=15

    DATE            日期型数据,格式’YYYY-MM-DD’

    BLOB            二进制形式的长文本数据,最大可达4G

    TEXT            长文本数据,最大可达4G

    CREATE TABLE emp (
    emp_id INT AUTO_INCREMENT,
    emp_name CHAR (20),
    salary DOUBLE,
    birthday DATE,
    PRIMARY KEY (emp_id)
    ) ;
    
    #复制表:
    create table emp1 as select * from employees;

      (3)更改表

        ALTER TABLE  语句

     使用 ALTER TABLE 语句可以实现:

     向已有的表中添加列

     

    ALTER TABLE dept80  ADD job_id varchar(15);
    
    修改现有表中的列
    ALTER TABLE  dept80  MODIFY (last_name VARCHAR(30));
    
    删除现有表中的列
    ALTER TABLE dept80 DROP COLUMN job_id;
    
    重命名现有表中的列
    ALTER TABLE dept80  CHANGE department_name dept_name varchar(15);
    Table altered.

    (4)删除表

    数据和结构都被删除

    所有正在运行的相关事务被提交

    所有相关索引被删除

    • DROP TABLE 语句不能回滚

    DROP TABLE dept80;

     

    (5)清空表

    TRUNCATE TABLE

    TRUNCATE TABLE 语句:

    删除表中所有的数据

    释放表的存储空间

    • TRUNCATE语句 不能回滚

    可以使用 DELETE 语句删除数据,可以回滚

    对比:

    delete from emp2;
    select * from emp2;
    rollback;
    select * from emp2;
    TRUNCATE TABLE detail_dept;
    Table truncated

    (7)改变表名称

      ALTER table dept

      RENAME TO detail_dept;

      Table renamed.

      

    // 开始事务操作进行回滚
    select * from ordertotals;
    start transaction;
    delete from ordertotals;
    select * from ordertotals;
    rollback;
    select * from ordertotals;
  • 相关阅读:
    第一周博客作业(学习历程和感想)
    WordCount 基础功能
    MyBatis 分页插件 PageHelper 使用
    手机尾号猜年龄骗局解密
    逻辑思维题一
    给div添加滚动条
    my97中文乱码问题
    cookie中文乱码
    多线程下的单例模式
    HTML5的入门与深入理解
  • 原文地址:https://www.cnblogs.com/love-life-insist/p/12869207.html
Copyright © 2011-2022 走看看