ddl是什么意思网络语_DDL(数据定义语言)

DDL,是对数据库内部的对象进行创建,删除,修改等的操作语言。它和DML语言最大的区别是DML只是对表内部数据的操作,而不涉及到表的定义,结构的修改,更不会涉及到其它对象。

1.连接数据库:

注:1.mysql代表客户端命令,-u后面跟连接的数据库用户,-p表示需要输入密码。

2.命令的结束符用;或者\g结束

468845f41bf8ff00f5e2437f0bff729e.png

2.创建数据库:

格式:create database dbname;

Query OK执行成功

1 row affected 只影响了数据库中一行的记录。

0.13 sec 记录了操作执行的时间

如果已经存在了这个数据库,系统如图会提示。

e5c7b8e79fdf0630b3fe0b7e0be2275a.png

查看系统中存在哪些数据库:show databases;

如图:

fbaa2d31d3a3a2a28ffe047f4ba0d4f0.png

information_schema:主要存储了系统中的一些数据库对象信息。比如用户表信息、列信信息、权限信息、字符集信息、分区信息等。

cluster:存储了系统的集群信息。

mysql:存储了系统的用户权限信息。

test:系统自动创建的测试数据库,任何用户都可以使用。

选择遥操作的数据库:

USE dbname;

接下来查看改数据库的所有数据表:show tables;

c3fa4b63e0407ac6abcc2999183d18a4.png

3.删除数据库:(所有表数据都会被全部删除)

格式:drop database dbname;

18298a928cd286c031e5b02a2616fba8.png

提示操作成功后,显示"0 rows affected"。觉得疑惑,不用管它,在MySQL里,drop语句操作的结果显示都是"0 rows affected"

4.创建表

格式:create table tablename(column_name_1 column_type_1 constraints,column_name_2 column_type_2 constraints...)

注:column_name是列的名字,column_type是列的数据类型,contraints是这个列的约束条件。

例如:创建一个emp的表。

create table emp(ename varchar(10),hiredate date,sal decimal(10,2),deptno int(2));

8f638ed4ab85e31dcfff0f63dbae748a.png

查看emp表的定义,可以使用 DESC tablename;

c7c93e4600f7ad9ff4f25a1112883f0c.png

虽然 desc 命令可以查看表定义,但是其输出的信息还是不够全面,为了查看更全面的表定义信息,有时就需要通过查看创建表的 SQL 语句来得到,可以使用如下命令实现:

118b1a0034a4280fe6a9089d48ab34c9.png

从上面表的创建 SQL 语句中,除了可以看到表定义以外,还可以看到表的 engine (存储引擎)

和 charset(字符集)等信息。“\G”选项的含义是使得记录能够按照字段竖着排列,对于内

容比较长的记录更易于显示。

5.删除表:

drop table emp;

6.修改表:(多数情况下表结构的修改用alter table语句)

1)修改表类型,语法如下:

ALTER TABLE tablename MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]

例如:修改表emp中的ename字段定义,将varchar(10)改为varchar(20);

如图:alter table emp modify ename varchar(20);

7d0a03d77ee7c5829910c5c2e7a1b23e.png

2)增加表字段:

ALTER TABLE tablename ADD [COLUMN] column_definition [FIRST | AFTER col_name]

例如,表 emp 上新增加字段 age,类型为 int(3):

如图:alter table emp add column age int(3);

5e2c6398cde975dc08bddd251c5ec916.png

3)删除表字段:

ALTER TABLE tablename DROP [COLUMN] col_name

例如,将字段 age 删除掉:

如图:alter table emp drop column age;

8750b18b703981b730bfaa9bfddb44e6.png

4)给字段改名:

ALTER TABLE tablename CHANGE [COLUMN] old_col_name column_definition

[FIRST|AFTER col_name]

例如,将 age 改名为 age1,同时修改字段类型为 int(4):

如图: alter table emp change age age1 int(4) ;

1c41f1cc780dfdb8449d5efa33c8a9db.png

5)修改字段的排列顺序:

(前面介绍的的字段增加和修改语法(ADD/CNAHGE/MODIFY)中,都有一个可选项 first|after column_name,这个选项可以用来修改字段在表中的位置,默认 ADD 增加的新字段是加在表的最后位置,而 CHANGE/MODIFY 默认都不会改变字段的位置。)

例如,将新增的字段 birth date 加在 ename 之后:

如图: alter table emp add birth date after ename;

112370c04ccd6ee4f877026938c4bcb9.png

例如:修改字段age,将它放在最前面:

如图:alter table emp modify age int(3) first;

70ee456546196f8036434475301dee33.png

注意:CHANGE/FIRST|AFTER COLUMN 这些关键字都属于MySQL,在标准 SQL 上的扩展,在其他数据库上不一定适用。

6)表改名:

ALTER TABLE tablename RENAME [TO] new_tablename

例如,将表 emp 改名为 emp1:

如图:alter table emp rename emp1;

365e650af6cdfa1d7e03468c3ac5a76a.png

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值