(My)SQL 使用入门---DDL语句

   DDL是数据定义语言的缩写,简单来说,就是对数据库内部的对象进行创建、删除、修改的操作语言。

   它和DML语句的最大区别是DML只是对表内部数据的操作,而不涉及表的定义、结构的修改,更不会涉及其他对象。

   DDL语句更多地被数据库管理员(DBA)所使用,一般开发人员很少使用。

 

 

1.

创建数据库:

 

CREATE DATABASE dbname;

 

查询系统中存在数据库命令:

 

show databases;

 

操作数据库时,要使用: USE dbname;  的命令;查询USE的数据库中存在数据表库命令:show tables;

 

2.

删除数据库:

 

drop database dbname;

 

(可以发现,执行操作后,显示了“0 rows affected ”,这个提示可以不用去管它,在MySQL里面,drop语句操作的结果都是"0 rows affected"。)

 

3.

创建表:

CREATE TABLE tablename

(column_name_1  column_type_1 constraints,

 column_name_2  column_type_2 constraints,

 ……column_name_n column_type_n constraints

);

 

 

例:创建一个叫emp的表,表中包括ename,hiredate和sal,deptno 4个字段,字段类型分别为varchar(10),date,decimal(10,2),int(2).

 

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

 

表创建完毕后,查看表有的定义之命令:

DESC tablename;  (DESC就是DECSRIBE的缩写)

或者:show columns from tablename;

 

 

若要全面的表定义信息,可通过查看创建表的SQL语句来得到:

mysql> show create table emp /G;

 

"/G"选项的含义是使得记录能够按照字段竖着排列,对于内容比较长的记录更易于显示。

 

4.

删除表:

DROP TABLE tablename;

 

5.

修改表

(1)修改表类型:

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

 

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

mysql> alter table emp modify ename varchar(20);

 

(2)增加表的字段:

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

 

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

 

mysql> alter table emp add column age int(3);

 

(3)删除表字段:

ALTER TABLE tablename DROP [COLUMN] col_name;

 

(4)修改字段名:

ALTER TABLE tablename CHANGE [COLUMN] old_col_name column_definition [FIRST | AFTER col_name]

 

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

 

mysql> alter table emp change age age1 int(4);

 

-------------------------------------------------------------------------------------------

 

注意: change和modify都可以修改表的定义,不同的是change后面需要邮写两次

          列名,不方便。

          但是change的优点可以修改列名称,modify则不能。

-------------------------------------------------------------------------------------------

 

(5)修改字段排列顺序

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

 

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

 

mysql> alter table  emp add birth date after ename ;

  

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

mysql> alter table emp modify age int(3) first;

 

---------------------------------------------------------------------------------------------

注意:CHANGE/FIRST|AFTER COLUMN 这些关键字都属于MySQL在标准SQL上的

         扩展,在其他数据库上来一定适用。

---------------------------------------------------------------------------------------------

(6)更改表名:

ALTER TABLE tablename RENAME [TO] new_tablename;

 

例:将表emp改名为emp1:

mysql> alter table emp rename emp1;

 

 

 

 --------------------------------------

其他SHOW语句:

show status,用于显示广泛的服务器状态信息;

show create database和show create table,分别用来显示创建特定数据库或表的mysql语句;

show grants, 用来显示授予用户(所有用户或特定用户)的安全权限;

show errors和show warnings,用来显示服务器错误或警告消息。

 

进一步了解SHOW执行代码:help show;

 

--------------------------------------

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值