MySql基础-DDL语句

SQL语句主要分为3类:

    DDL(Data Definition Languages):数据定义语言,这些语句主要定义了不同的数据段,数据库,表,列,索引等,常用的关键词:create,drop,alter等。

    DML(Data Manipulation Language):数据操纵语言,用于添加,删除,更新和查询数据库记录的。常用关键词:insert,delete,update,select等。

    DCL(Data Control Language):数据控制语句,用于控制不同数据段直接的许可和访问级别的语句,这些语句定义了数据库,表,字段,用户的访问权限和安全级别。主要关键词包括:grant,revoke等。

DDL语句

   DDL语句是对数据库内部的对象进行创建,修改,删除和DML最大的区别就是:DML只是对表中的数据进行操作,但是DDL是对表的结构进行操作和对其他数据库对象进行操作。

首先我们来登录MySQL,这里假定MySQL已经安装并且服务也正常启动

这里写图片描述

我用的数据库是MariaDB,其实和MySQL几乎一样,有关他俩的区别大家可以看网上的其他资料来了解。这里我就把MariaDB当做MySQL来操作了。

首先我们来进行创建数据库:create database test1;

这里写图片描述

用use test1来选择要操作的数据库。
这里写图片描述

可以用show tables命令来查看test1的表,因为这个是刚创建的数据库,查看的结果应该为Empty。
这里写图片描述

删除数据库的语法是 drop database test1;

这里写图片描述

这里操作成功却显示“0, rows affected”,这个提示可以不用管。MySQL中的drop操作显示的都是“0, rows affected”。

创建表的方式:

CREATE TABLE tablename(
column_name_1 column_type_1 constraints,
column_name_2 column_type_2 constraints,
column_name_3 column_type_3 constraints,
……….
column_name_n column_type_n constraints,
)
MySQL中的表名是以目录的形式存在磁盘中的,所以tablename的命令规则就是目录的命名规则。column_name表示列的名字,column_type表示列的数据类型,constraints表示列的约束。

这里我们创建一个员工表emp。
这里写图片描述

ename:员工名称
hiredate:入职日期
sal:薪水
deptno:部门号

我们可以用desc emp的命令来查看刚才创建的表结构

这里写图片描述

虽然desc可以看表定义,但是信息还是不全面,如果要看更详细的信息,就需要看创建表的sql语句了,可以使用命令:show create table emp \G;
这里写图片描述
用show create table emp \G; 除了可以看到表的定义信息外,还可以看到engine(存储引擎)和charset(字符集)。“\G”选项是使得记录能够按照字段竖向排列,以便更好的显示内容较长的记录。

删除表命令:drop table emp;

修改表:

1.修改表类型:

命令:ALTER TABLE tablename MODIFY[COLUMN] column_definition[FIRST|AFTER col_name];

其中 alter table modify是操作表结构的关键词,column_definition是要修改列的类型,[FIRST|AFTER col_name]是修改后的列放在所放的位置

这里写图片描述

这里我们将ename的类型从varchar(10)修改成了varchar(20);

2.添加表字段 :

命令:ALTER TABLE tablename ADD[COLUMN] column_definition[FIRST|AFTER col_name];

这里写图片描述

这里我们添加了一个age字段,注意after ename ,所起的作用就是把age列放在了ename后面,否则默认将放在最后面。

3.字段改名

命令:ALTER TABLE tablename CHANGE[COLUMN] old_col _column column_definition[FIRST|AFTER col_name];

old_col _column 是老字段名

这里写图片描述

这里我们把age改名为age1并把类型长度增加了1.

    change和modify都可以修改表的定义,但是change后面需要写两次列名,不方便,change的优点是可以修改列的名称,modify不能。

4.删除表字段:

命令:ALTER TABLE tablename DROP[COLUMN] col_name;

这里写图片描述

这里我们删除了刚才添加并修改名字的age1字段。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值