MySQL之DDL操作数据库

时间:2022-09-12 15:25:28

      DDL(Data Definition Language),翻译过来叫:数据库定义语言,用于在数据库定义创建或删除数据库对象等操作,例如:create(创建)、drop(删除)、alter(修改)等语句。

       1、创建数据库和查看数据库:

            创建数据库语法:CREATE DATABASE 数据库名;

            查看用户所有数据库语法:SHOW DATABASE;

          如图所示效果:其中系统会在安装mysql之后会自动创建一些数据库,有4个,分别为information_schema、mysql、performance_schema、test,其中的其他数据库是我自己创建的。注意不对系统创建的数据库做更改或者其他操作,否则可能会导致数据库使用异常。        

           MySQL之DDL操作数据库

       注意点:在执行SQL命令时加分号结束,不然有些命令会认为是换行操作。

                2、删除数据和切换数据数据库:

      删除数据库语法:drop database 数据库名;

         如图所示效果:可以发现在我们执行删除命令之后,再次查看数据库,已经发现所删数据库已经不见,说明删除成功。

      MySQL之DDL操作数据库     

      切换数据库语法:use 数据库名;

      如下图效果箭头所指的语句出现表示已经切换到所选择的数据库。

      MySQL之DDL操作数据库

                以上即为数据库DDL的常见操作。

             1.1 DDL之操作表 :

                        * 创建表:

                           语法:create table 表名

                          (  列名1 列类型  约束 , 

                               列名2 列类型 约束

                          ) ;

                     如图效果所示:

                  MySQL之DDL操作数据库

                  注意:创建表时先use 你要把表创建在那个数据库下。

            在创建完表之后可以使用  desc  表名 查看表结构。

            执行完命令后如图所示:

            MySQL之DDL操作数据库

          注意:以上为最简单的表创建:实际创建表中我们在创建表时还会对字段进行对应的约束,以保证数据的准确性和唯一性。例如:学生的学号必须唯一,性别只能是男或者女,等等一系列的约束  。

              常用的约束属性如下表:                

常用的属性约束

字段属性

关键字

说明

非空约束

NOT NULL

表示该字段不允许为空

默认约束

DEDAULT

表示赋予某字段默认值,如性别:默认性别为“男”

唯一约束

UNIQUE KEY(UK)

表示该字段唯一,允许为空,但只能是一个空值,比如:身份证号。

主键约束

PRIMARY KEY(PK)

设置某字段为表的主键,

外键约束

FORELIGN KEY(FK)

表示用于两表之间建立关系,需要指定主表的那一字段。

自动增长

AUTO_INCREMENT

表示设置该列为自增字段,默认自增1,通常用于设置主键 且为整数类型。

            * 修改表:

                 1、修改表之添加列:

                     语法: alter table 表名 

                                add(

                                 列名 列类型

                               );

                 如下图效果所示:可以发现执行完命令之后,再次查看表结构,可以多了一个age的记录 这说明已经添加成功。

                MySQL之DDL操作数据库

                 有增加列肯定就有修改列:

                   语法:alter table 表名 modify 列名 列类型;

                     注意:如果被修改的列已存在数据,那么新的类型可能会影响到已存在的数据

                         如图效果所示:可以发现表数据已经发生更改。

                           MySQL之DDL操作数据库

          * 修改之修改列名:

                  语法: alter table 表名 change 原列名 新列名 列类型;

                  如图效果所示:

                    MySQL之DDL操作数据库

             * 修改之删除列:

                  alter table 表名 drop 列名;

                如图效果所示:

                  MySQL之DDL操作数据库

                *修改表名称

                     语法:alter table 原表名 rename to 新表名;

                       如图效果所示:

                  MySQL之DDL操作数据库

                 *删除表:

                  语法: drop table 表名;

                     如图效果所示:

                    MySQL之DDL操作数据库