SQL分类:

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

DML(Data Manipulation Language)语句:数据操纵语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性,常用的语句关键字主要包括insert、delete、udpate 和select 等。

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

DDL语句:

1、创建数据库

语法:CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
    [create_specification] ...

例如创建数据库testtest,执行命令如下:

mysql> create database testtest;

2、删除数据库

语法:DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

例如要删除创建的数据库testtest,执行命令如下:

mysql> drop database testtest;

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)

因为MySQL 的表名是以目录的形式存在于磁盘上,所以表名的字符可以用任何目录名允许的字符。column_name 是列的名字,column_type 是列的数据类型,contraints 是这个列的约束条件。

例如:例如,创建一个名称为emp 的表。表中包括4个字段,ename(姓名),hiredate(雇用日期)、sal(薪水)、deptno(部门)字段类型分别为varchar(10)、date、decimal(10,2)、int(2)

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

表创建完成后,查看表的定义,可以使用命令:DESC tablename

例如,查看emp表,输出如下信息:

mysql> desc emp;
+----------+----------------+------+-----+---------+-------+
| Field       | Type              | Null  | Key | Default | Extra  |
+----------+----------------+------+-----+---------+-------+
| ename    | varchar(10)    | YES  |       | NULL    |          |
| hiredate  | date               | YES  |       | NULL    |          |
| sal          | decimal(10,2) | YES  |       | NULL    |          |
| deptno    | int(2)             | YES  |       | NULL    |          |
+----------+----------------+------+-----+---------+-------+
4 rows in set (0.01 sec)

如要更全面的查看表的定义,可以执行命令:

mysql> show create table emp\G;

*************************** 1. row ***************************

Table: emp

Create Table: CREATE TABLE `emp` (

`ename` varchar(10) DEFAULT NULL,

`hiredate` date DEFAULT NULL,

`sal` decimal(10,2) DEFAULT NULL,

`deptno` int(2) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8

1 row in set (0.00 sec)

ERROR:

No query specified

从上面表的创建SQL 语句中,除了可以看到表定义以外,还可以看到表的engine(存储引擎)和charset(字符集)等信息。“\G”选项的含义是使得记录能够按照字段竖着排列,对于内容比较长的记录更易于显示。

4、删除表

语法:DROP TABLE tablename;

例如,删除表emp,执行如下语句:

mysql> drop table emp;

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 age int(3);

(3)、删除表字段

语法:ALTER TABLE tablename DROP [COLUMN] col_name

例如,将字段age 删除掉:

mysql> alter table emp drop age;

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

(5)、修改字段排列顺序

前面介绍的的字段增加和修改语法(ADD/CNAHGE/MODIFY)中,都有一个可选项first|after column_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;

(6)、表改名

语法:ALTER TABLE tablename RENAME [TO] new_tablename

例如,将表emp 改名为emp1,命令如下:

mysql> alter table emp rename emp1;

mysql语句之DDL的更多相关文章

  1. 如何通过binlog获取我们想要的MySql语句?

    前言 MySql的binlog一般用于我们对数据的恢复,以及从数据库对主数据库的复制和更新. 假设此时我们有一个需要查询和读取Mysql最近操作DDL的信息,我们需要怎么处理? 聪明的你可能已经想到了 ...

  2. 一些常用的mysql语句实例-以后照写2

    specification: 规范, 规格, 产品规范, 产品规格, 技术规范, 产品说明书. 如: create_specification, 等等 创建数据库时, 显式地指明, 字符集: crea ...

  3. 一些常用的mysql语句实例-以后照写

    create database blog; create table blog_user ( user_Name char(15) not null check(user_Name !=''), us ...

  4. mysql语句总结

    mysql语句总结 -- 1,通过windows提供的服务管理来完成 -- services.msc -- 2,dos下的命令来完成 -- 停止 -- net stop mysql -- 启动 -- ...

  5. 数据库系统(六)---MySQL语句及存储过程

    一.DDL.DML.DCL常用语句 1.DDL(Data Definition Language)数据库定义语言 (1)数据库模式定义 #创建数据库 create database if exsite ...

  6. MySQL语句和命令大全

    前言 这里记录的是这两年学习工作过程中遇到的常用的 MySQL 语句和命令,部分是网上收集来的,出处已经不记得了,这里先谢过这些大佬.本文包括常见 SQL 语句,还有部分运维语句和命令,没有做详细的说 ...

  7. MySQL数据库之DDL(数据定义语言)

    1.MySQL数据库之DDL创建.删除.切换 (1)查看所有数据库 show databases: (2)切换数据库 use 数据库名: (3)创建数据库 create database 数据库名: ...

  8. MySQL操作之DDL

    目录 SQL语句的分类 DDL语句 SQL语句的分类 DDL(Data Definition Languages)语句:数据定义语言.这些语句定义了不同的数据段. 数据库.表.列.索引等数据库对象的定 ...

  9. 数据库-Mysql语句

    Mysql语句 不定时更新 1.数据库相关的语句 /* 数据库操作 */ ------------------ -- 启动MySQL net start mysql -- 接与断开服务器 mysql ...

随机推荐

  1. 利用Django框架实现分页 demo

  2. Mysql数据库常见试题

    引用自http://blog.csdn.net/laoniyouxi123/article/details/51161157 sql语句应该考虑哪些安全性? 答: (1)防止sql注入,对特殊字符进行 ...

  3. 【bzoj3676】[Apio2014]回文串

    *题目描述: 考虑一个只包含小写拉丁字母的字符串s.我们定义s的一个子串t的“出现值”为t在s中的出现次数乘以t的长度.请你求出s的所有回文子串中的最大出现值. *输入: 输入只有一行,为一个只包含小 ...

  4. 使用xshell远程连接Linux

    Linux系统对于程序员来说并不陌生,对IT技术员来说是一个很好的开发平台,因此掌握Linux系统的操作对于一个程序员来说非常有用.而对于习惯使用windows的人来说直接在Linux系统下进行操作感 ...

  5. Spark Streaming的优化之路—从Receiver到Direct模式

    作者:个推数据研发工程师 学长     1 业务背景   随着大数据的快速发展,业务场景越来越复杂,离线式的批处理框架MapReduce已经不能满足业务,大量的场景需要实时的数据处理结果来进行分析.决 ...

  6. CSS选择器(CCS第三版)

    什么是选择器? CSS选择器就是使样式找到应用对象. 简单选择器(Simple selectors) 在日常开发中,最常用的选择器,也是最基本的选择器. 元素选择器(Type selector) 针对 ...

  7. 移动端轮播完整版css3加原生写法

    <!doctype html><html><head> <meta charset="UTF-8"> <meta name=& ...

  8. django 给数据库批量添加数据

    from .models import Book import random def index(request): book_list = [] for i in range(1, 101): bo ...

  9. MVC4:ajax Json 应用

    1)Json基础 2)Json 字符串和Json对象 3)应用例子 4)JsonHelper 1)Json 基础 JSON中对象通过"{}"来标识,一个"{}" ...

  10. 阶段1 语言基础+高级_1-3-Java语言高级_1-常用API_1_第4节 ArrayList集合_15-ArrayList集合存储基本数据

    泛型必须是引用类型,不能是基本类型 里面的泛型用int就会报错 集合里面保存的都是地址值.基本类型的数据没有地址值,所以你想要往里面存int是不可以的 基本类型可以往ArrayList里面放,但是必须 ...