标准的SQL语句之DDL

查询语句:主要由select 关键字完成,查询语句是SQL 语句中最复杂、功能最丰富的语句。
DML(Data Manipulation Language,数据操作语言) 语句:主要由insert、update和 delete 三个关键字完成。
DDL(Data Definition Language,数据定义语言)语句:主要由create、alter、drop和 truncate 四个关键字完成。
DCL(Data Control Language,数据控制语言)语句:主要grant和revoke 两个关键字完成。
事务控制语句:主要由commit、rollback和savepoint 三个关键字完成。

(DCL语句用于为数据库用户授权,或者回收指定用户的权限,通常无须程序员的操作,这里不做说明)

MySql 基本语法:
执行Mysql 命令的语法:
  1. mysql -u 用户名 [-h主机] -p密码
如果访问本地,不需要填写主机名


查看当前实例下的数据库
  1. show databases;

  1. #创建数据库
  2. create database [if not exists] 数据库名;

  1. #删除数据库
  2. drop database zhangjing;

演示完删除后重新再建一个名为xx的数据库,这里取名为myTest。



进入指定的数据库:
  1. #进入指定的数据库
  2. use 数据库名;
  3. #进入mytest
  4. use mytest;

进入mytest后,查看数据库下面的所有表:
  1. #查看当前数据库中所有的表
  2. show tables;
当然,现在没有添加任何表,提示为empty;

查看表的结构使用desc关键字,下面会经常用到;
  1. desc 表名;


DDL语句:

1.创建表的语法:

    
  1. create table 表名 (
  2. columnName1 dataType [default expr],
  3. ...
  4. )
  5. --创建一个名为t_test的表--
  6. crate table t_test(
  7. id int(11),
  8. userName varchar(20),
  9. age int(11),
  10. birthday date
  11. );
  12. --使用desc 关键字查看表的结构--
  13. desc t_user;

2,修改表结构的语法

新增列定义:
  1. alter table 表名
  2. add
  3. (
  4. #可以有多个列定义
  5. column_name1 dataType [default expr],
  6. ...
  7. )
  1. #新增 字段名为‘hobby’,'home'
  2. alter table z_user add(
  3. hobby varchar(200),
  4. home varchar(20)
  5. )


修改列定义:
  1. alter table 表名
  2. modify column_name dataType [default expr] [first|after column_name1]
  1. #改变列到一行
  2. alter table z_user modify username varchar(25) first;
上面这句sql将username 字段移到第一行


  1. #改变列的顺序
  2. alter table z_user modify username varchar(25) after id;

除了modify 关键字,mysql提供了change 关键字,如果需要修改列名就必须使用change。
change的语法如下:
  1. alter table 表名
  2. change old_column_name new_column_name dataType [default expr] [first|after column_name];
  1. #修改表中的hobby字段为hobbys,同时设置默认值为“旅游”,并将位置定位到最后
  2. alter table t_user
  3. change hobby hobbys varchar(200) default '旅游' after home;



删除列的语法非常简单:
  1. alter table 表名
  2. drop column_name;
  1. #删除‘hobbys’这一列
  2. alter table z_user drop hobbys;
hobbys这个字段没有了

重命名数据表的格式:
  1. alter table 表名
  2. rename to 新的表名
  1. #将t_user 改为 z_user
  2. alter table t_user rename to z_user;


3.删除表的语法

  1. #删除表的格式
  2. drop table 表名;
说明:
》表结构被删除,表对象不再存在
》表里的所有数据也被删除
》该表的所有相关的索引、约束也被删除

4.truncate 表

大部分数据库把truncate 当做DDL处理,truncate 被称为 “截断” 某个表——它的作用是删除该表里的全部数据,但保留表结构。
貌似用的比较少。

附带单词:
defined:有的定义的










posted @ 2016-03-17 16:18  ZJinger  阅读(10560)  评论(0)    收藏  举报