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. GPSMap程序源代码

    1. 界面 第一次打开时选择工程文件 MainActivity.java Tools.OpenDialog(new ICallback(){ public void OnClick(String pa ...

  2. Java 静态初始化块等的执行顺序

    实例代码 package text; class Root { static{ System.out.println("Root的静态初始化块"); } { System.out. ...

  3. php正则匹配汉字提取其它信息剔除和验证邮箱

    正则匹配汉字提取其它信息剔除demo <?php //提取字符串中的汉字其余信息剔除 $str='te,st 测 .试,.,.?!::·…~&@#,.?!:;.……-&@#“” ...

  4. fedora18 Cannot retrieve metalink for repository: fedora. Please verify its path and try again 解决方法

    Cannot retrieve metalink for repository: fedora. Please verify its path and try again 解决方法 执行如下命令: s ...

  5. The JavaScript this Keyword

    https://www.w3schools.com/js/js_this.asp What is this? The JavaScript this keyword refers to the obj ...

  6. Linux超全实用指令大全

    参考 Linux超全实用指令大全

  7. ASM磁盘组删除磁盘

    ASM磁盘组删除磁盘 [oracle@dbserver1 ~]$ su - gridsqlplus / as sysasmConnected.SQL> alter diskgroup data ...

  8. leetcode 695 Max Area of Island 岛的最大面积

    这个题使用深度优先搜索就可以直接遍历 DFS递归方法: class Solution { public: vector<vector<,},{,-},{,},{,}}; int maxAr ...

  9. leetcode 52 N皇后问题 II

    51的简化版,省去根据排列话棋盘的工作,直接计数,代码: class Solution { public: int totalNQueens(int n) { ; vector<); dfs(n ...

  10. IIS 配置备份和还原

    首先我们打开服务器管理器,一般服务器都在左下角的任务栏中,直接点击即可打开 图1 打开WEB服务器(IIS),选择IIS根目录,找到右边的共享管理 图2 打开共享管理后,我们在右侧的操作中找到导出配置 ...