zoukankan      html  css  js  c++  java
  • MySQL:创建、修改和删除表

    1.创建数据库:CREATE DATABASE 数据库名;

     删除数据库:DROP DATABASE 数据库名;

     查看数据库编码:SHOW CREATE DATABASE 数据库名;   

     修改数据库默认编码:ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符编码名 [COLLATE ...]; 

     查询存储引擎的类型:SHOW ENGINES;

    查询结果中,Engine参数指存储引擎名称;Support参数说明MySQL是否支持该类型引擎;Comment参数表示对该引擎的评论;Transaction参数表示是否支持事务处理;XA参数表示是否分布式交易处理的XA规范;Savepoints参数表示是否支持保存点,以方便事务的回滚操作;

    InnoDB存储引擎是default的,也就是数据库默认的存储引擎,下面我们简单介绍一下InnoDB:InnoDB是MySQL的一种存储引擎,InnoDB给MySQL提供了事务、回滚、崩溃修复能力和多版本并发控制的事务安全。InnoDB是MySQL上第一个提供外键约束的表引擎,而且对事务处理的能力,也是其他存储引擎不能比拟的。不过这种引擎的缺点就是读写效率稍差,占用的数据空间相对比较大。

    2.创建表:CREATE TABLE 表名 (

            属性名 数据类型 [完整约束条件],

            属性名 数据类型 [完整约束条件],

            ...
            ...

            属性名 数据类型 [完整约束条件]

             );

      在创建之前要选择数据库,格式:USE 数据库名;

      查看表编码:SHOW CREATE TABLE 表名;

      查看字段编码:SHOW FULL COLUMNS FROM 表名;  

      约束条件表:

    约束条件

    说明

    PRIMARY KEY

     标识该属性为该表的主键,可以唯一的标识对应的元组

    FOREIGN KEY

     标识该属性为该表的外键,是与之联系某表的主键
     NOT NULL

     标识该属性不能为空

    UNIQUE

     标识该属性的值是唯一的
    AUTO_INCREMENT

     标识该属性的值是自动增加,这是MySQL的SQL语句的特色

     DEFAULT

    为该属性设置默认值

     

     1)设置表的主键:

      单字段主键格式:属性名 数据类型 PRIMARY KEY

    CREATE TABLE student1 (
         id int PRIMARY KEY,
         name varchar(20)
         );

      多字段主键格式:PRIMARY KEY(属性名1,属性名2....属性名n)

    CREATE TABLE student2 (
            id int,
            stu_id int,
            name varchar(20),
            PRIMARY KEY(id,stu_id)
            );  

     2)设置表的外键:

      CONSTRAINT 外键别名 FOREIGN KEY(属性1,属性2,....属性n) REFERENCES 表名(属性1',属性2',...属性n')

    CREATE TABLE teacher (
           id int PRIMARY KEY,
           stu_id int,
           name varchar(20),
           CONSTRAINT STUID FOREIGN KEY(stu_id) REFERENCES student1(id)
            );

     设置表的非空约束:属性名 数据类型 NOT NULL

     设置表的唯一性约束:属性名 数据类型 UNIQUE

     设置表的属性值自动增加:属性名 数据类型 AUTO_INCREMENT

      AUTO_INCREMENT约束的字段可以是任何整数类型(TINYINT、SMALLINT、INT和BIGINT),在默认的情况下,该字段的值是从1开始自增

     设置表的属性的默认值:属性名 数据类型 DEFAULT 默认值

    CREATE TABLE student3 (
            id int PRIMARY KEY AUTO_INCREMENT,
            teacher_id int UNIQUE,
            name varchar(20) NOT NULL,
            sex varchar(10) DEFAULT 'male'
            );

     3)查看表结构:

      查看表基本结构语句:DESCRIBE 表名;

        通过查看表的结构,就很明确的对表进行解读,而且可以查看一下自己创建的表有没错误,这个SQL语句必须会用

      查看表详细结构语句:SHOW CREATE TABLE 表名;

        通过这个SQL语句可以查看表的详细定义,除了字段名、字段的数据类型、约束条件外,还可以查看表的默认存储引擎和字符编码

    3.修改表

     1)修改表名:ALTER TABLE 旧表名 RENAME 新表名;

     2)修改字段的数据类型:ALTER TABLE 表名 MODIFY 属性名 数据类型;

                ALTER TABLE 表名 CHANGE change address address char(40) ;

     3)修改字段名:ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型;

     4)增加字段:ALTER TABLE 表名 ADD 属性名1 数据类型 [完整性约束条件] [FIRST | AFTER 属性名2];

       “属性名1”参数指需要增加的字段的名称;“FIRST”参数是可选参数,其作用是将新增字段设置为表的第一个字段;“AFTER”参数也是可选的参数,其作用是将新增字段添加到“属性名2”后面;“属性名2”当然就是指表中已经有的字段

     5)删除字段:ALTER TABLE 表名 DROP 属性名;

     6)更改表的存储引擎:ALTER TABLE 表名 ENGINE = 存储引擎名;

     7)删除表的外键约束:ALTER TABLE 表名 DROP FOREIGN KEY 外键别名;

     8)修改表的字符编码格式:

        修改表的默认字符集和所有字符列(CHAR,VARCHAR,TEXT):ALTER TABLE 表名 CONVERT TO CHARACTER SET 字符编码名 [COLLATE ...]

        修改表的默认字符集:ALTER TABLE 表名 DEFAULT CHARACTER SET 字符编码名[COLLATE...];  

        修改字段的字符集:ALTER TABLE 表名 CHANGE 属性名1 属性名2 CHARACTER SET 字符编码名 [COLLATE ...];

    4.删除表:

     删除没有被关联的普通表:DROP TABLE 表名;

     删除被其他表关联的父表:

      方法一:先删除子表,在删除父表

      方法二:删除父表的外键约束(上面有介绍),再删该表

     修改表的编码:ALTER   TABLE   `Admin_table`   DEFAULT   CHARACTER   SET   utf8   COLLATE   utf8_bin;

  • 相关阅读:
    C语言第四次博客作业嵌套循环
    C语言第六次博客作业数据类型
    C语言第五次博客作业函数
    C语言第二次博客作业分支结构
    MD5 DSA RSA 简单 区别
    关于Linux Grep命令使用的详细介绍
    最好、最智能化、最方便的Java开发软件 IntelliJ IDEA 10.5.2
    Linux Find 命令精通指南
    linux 下面递归查找
    公钥和私钥的解释
  • 原文地址:https://www.cnblogs.com/KylinBlog/p/7617111.html
Copyright © 2011-2022 走看看