暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

第21讲:创建表和修改表

何先振 2023-09-29
117

以下文章来源于何先振,责编小何


创建表


创建表的条件:


创建表需要指定表字段的数据类型,常见的数据类型:

int、double、date、varchar(size)。


还需要用户创建表的权限,一般用root账号是超级管理员可以直接创建。如果是其他账号可能会没有权限。


关于数据库数据类型和如何给数据库账号设置权限后期会讲。


创建表的方式:


方式一:


    CREATE TABLE IF NOT EXISTS 表名
    ( 字段名1 字段类型1,
      字段名2 字段类型2 
    );


    举个栗子:

    先查询所有表





    创建表,使用VARCHAR定义字符串,必须在使用VARCHAR时指明其长度。





    再查询发现已经有表了,创建成功





    DESC 表名 可以查看表结构


      desc 表名;






      查看创建表的语句结构


        show create table 表名;


        可以查看表字段信息





        可以查看存储引擎,以及字符集,如果创建表时没有指明字符集,则默认使用数据库的字符集。因为数据库用的字符集是UTF-8,所以表也是UTF-8





        查看表是否有数据





        方式二:


        基于现有的表创建表


          create table 表名
          as
          查询语句;


          举个栗子:


          先写查询语句,查询存在的表





          然后通过查询语句创建表





          通过DESC 表名,查看表字段信息,跟原表的字段名和类型都是一样。





          基于现有的表,创建会有原表的数据





          可以让查询语句关联其他表,然后创建新的表





          查询关联表,创建的新表数据、此时的查询语句可以结构比较丰富,使用前面章节讲过的各种SELECT





          字段信息,如果查询语句中有别名,会拿别名作为新创建表的字段名称





          再来一个大栗子:


          创建一个表的employees_copy,实现对employees表的复制,包括表数据


          创建新表





          查询里面的数据





          创建一个表的employees_blank,实现对employees表的复制,不包括表数据。


          通过过滤条件进行控制,加所有数据都不满足的条件





          写一个确定没有的条件 where 1=2, 一永远不能等于二





          执行创建语句





          查询新创建的表,没有数据





          修改表



          修改表的语句:


            alter table 表名


            具体修改表的啥部分,还需要加上具体的语句。


            添加字段


              alter table 表名
              add 字段名 字段类型(长度);

              举个栗子:


              先查看原来表的字段个数





              然后执行添加字段语句





              再查看,已经创建成功,默认添加到表中的最后一个字段





              添加到指定顺序的字段








              添加指定存在字段之后的顺序








              修改字段


                alter table 表名
                modify 字段名 字段类型(长度);


                举个栗子:


                将stu_name 数据类型改大








                修改字段,增加默认值








                重命名字段


                  alter table 表名
                  change 字段名 新字段名 数据类型(长度);


                  举个栗子:


                  重命名salary这个字段








                  重命名字段,同时可以改数据类型的范围








                  删除字段


                    alter table 表名
                    drop column 字段名;


                    举个栗子:


                    删除my_email字段









                    推荐阅读书籍

                    点击上方"何先振"关注并选择设为星标
                    各类IT技术文章不会错过!

                    文章转载自何先振,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                    评论