码迷,mamicode.com
首页 > 编程语言 > 详细

DDL(数据定义语言)

时间:2017-01-26 16:38:54      阅读:292      评论:0      收藏:0      [点我收藏+]

标签:constrain   对象   表示   base   set   ted   src   http   format   

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

1.连接数据库:
注:1.mysql代表客户端命令,-u后面跟连接的数据库用户,-p表示需要输入密码。
    2.命令的结束符用;或者\g结束

技术分享

2.创建数据库:
格式:create database dbname;

Query OK执行成功
1 row affected 只影响了数据库中一行的记录。
0.13 sec 记录了操作执行的时间

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

技术分享

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

技术分享

information_schema:主要存储了系统中的一些数据库对象信息。比如用户表信息、列信信息、权限信息、字符集信息、分区信息等。
cluster:存储了系统的集群信息。
mysql:存储了系统的用户权限信息。
test:系统自动创建的测试数据库,任何用户都可以使用。

选择遥操作的数据库:
USE dbname;

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

技术分享

3.删除数据库:(所有表数据都会被全部删除)
格式:drop database dbname;

技术分享

提示操作成功后,显示"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));

技术分享

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

技术分享

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

技术分享
从上面表的创建 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);

技术分享


2)增加表字段:
ALTER TABLE tablename ADD [COLUMN] column_definition [FIRST | AFTER col_name]
例如,表 emp 上新增加字段 age,类型为 int(3):
如图:alter table emp add column age int(3);

技术分享

 

3)删除表字段:
ALTER TABLE tablename DROP [COLUMN] col_name
例如,将字段 age 删除掉:
如图:alter table emp drop column age;

技术分享

 

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) ;

技术分享

 

5)修改字段的排列顺序:
(前面介绍的的字段增加和修改语法(ADD/CNAHGE/MODIFY)中,都有一个可选项 first|after column_name,这个选项可以用来修改字段在表中的位置,默认 ADD 增加的新字段是加在表的最后位置,而 CHANGE/MODIFY 默认都不会改变字段的位置。)
例如,将新增的字段 birth date 加在 ename 之后:
如图: alter table emp add birth date after ename;

技术分享

 

例如:修改字段age,将它放在最前面:
如图:alter table emp modify age int(3) first;

技术分享

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

 

6)表改名:
ALTER TABLE tablename RENAME [TO] new_tablename
例如,将表 emp 改名为 emp1:
如图:alter table emp rename emp1;

技术分享

DDL(数据定义语言)

标签:constrain   对象   表示   base   set   ted   src   http   format   

原文地址:http://www.cnblogs.com/y3010179969/p/6351513.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!