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;
  • 相关阅读:
    现在, Delphi 的多线程已经非常易用了!
    发现 TSplitter 在嵌套时不好用, 索性写了个替代品
    关于显示透空歌词的思路 回复 "zhaoboaidelphi" 的问题
    简单获取钢琴 88 个键的音高频率值
    准备理一下菜单和工具栏相关的组件
    在 StringGrid 上画线时, 使用 GDI+ 以消除锯齿 回复 "gsjn_8888_6666" 的问题
    解压 svgz 到 svg
    jQuery能做到,PHP能做到,C#也能做到
    监测ASP.NET应用程序性能最简单的方法
    支持高并发的IIS Web服务器常用设置
  • 原文地址:https://www.cnblogs.com/love-life-insist/p/12869207.html
Copyright © 2011-2022 走看看