目录

MySQL

SQL

DDL——数据定义

数据库操作

连接

查询

使用

创建

删除

数据表操作

创建

查询

修改

删除


MySQL

MySQL是一个关系型数据库管理系统,其数据是保存在不同的数据表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

SQL

MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言,SQL语言可以分为:

  • DDL(Data Definition Language)语言:数据定义语言,用来定义数据库对象,如数据库、数据表和数据字段;
  • DML(Data Manipulation Language)语言:数据操作语言,用来对数据库表中的数据进行增删改查操作;
  • DQL(Data Query Language)语言:数据查询语言,用来查询数据库中表的记录;
  • DCL(Data Control Language)语言:数据控制语言,用来创建数据库用户、控制数据库的访问权限。

DDL——数据定义

数据库操作

连接

在对数据库操作之前,需要输入如下代码连接数据库:

mysql -u root -p

如下图所示:

mysql的ddl语句 mysql ddl语句有哪些_表名

查询

输入如下代码查询所有数据库:

show databases;

输出结果如下图所示:

mysql的ddl语句 mysql ddl语句有哪些_数据库_02

输入如下代码查询当前数据库:

select database();

输出如下图所示:

mysql的ddl语句 mysql ddl语句有哪些_mysql的ddl语句_03

由于我们还没使用数据库,所以结果为NULL。

输入如下代码查看数据库编码:

show variables like 'character%';

如下图所示:

mysql的ddl语句 mysql ddl语句有哪些_数据库_04

其中:

  • character_set_client 为客户端编码方式;
  • character_set_connection 为建立连接使用的编码;
  • character_set_database 为数据库的编码;
  • character_set_results 为结果集的编码;
  • character_set_server 为数据库服务器的编码;

使用

使用数据库语法如下:

use 数据库名;

如下图所示:

mysql的ddl语句 mysql ddl语句有哪些_字段_05

创建

创建数据库的语法如下:

create database [if not exists] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则] ;

方括号中的内容是可填可不填。

当不填时,示例代码如下图所示:

mysql的ddl语句 mysql ddl语句有哪些_数据库_06

mysql的ddl语句 mysql ddl语句有哪些_数据库_07

注意:

  • 不填if not exists时,当创建的数据库存在会发生报错,所以最好填if not exists;
  • 不填字符集时,创建的数据库默认的字符集为latin1;

删除

删除数据库的语法格式如下:

drop database [if exists] 数据库名;

同样:方括号可以填或不填。

如下图所示:

mysql的ddl语句 mysql ddl语句有哪些_mysql_08

数据表操作

创建

创建数据表语法格式如下:

create table 表名(
    字段1 字段1类型 [comment 字段1注释],
    字段2 字段2类型 [comment 字段2注释],
    字段3 字段3类型 [comment 字段3注释],
    ......
    字段n 字段n类型 [comment 字段n注释]
)[comment 表注释];

注意:方括号是可选参数,在最后一个字段中没有逗号。

示例代码如下:

create table students(
    uid int comment '学生id',
    uname varchar(10) comment '学生名',
    upassword varchar(10) comment '学生密码'
)comment '学生表';

如下图所示:

mysql的ddl语句 mysql ddl语句有哪些_数据库_09

这里我们创建了名为students的数据表。

查询

查询当前数据库所有数据表,代码如下:

show tables;

如下图所示:

mysql的ddl语句 mysql ddl语句有哪些_字段_10

在上一步中,我们使用mytest数据库并在数据库中创建了名为students的数据表,所以我们查询的当前数据库的所有表只有students数据表。

查询表结构的语法如下:

desc 表名;

示例代码如下:

use mytest;                 #选择mytest数据库
desc students;              #查看表结构

如下图所示:

mysql的ddl语句 mysql ddl语句有哪些_mysql_11

查询指定表的建表语句语法如下:

show create table 表名;

示例代码如下:

show create table students;

如下图所示:

mysql的ddl语句 mysql ddl语句有哪些_mysql的ddl语句_12

修改

添加数据表字段

添加数据表字段的语法如下:

alter table 表名 add 字段名 类型(长度) [comment 字段注释] [约束]

示例代码如下:

use mytest;                     # 使用mytest数据库
alter table students add sex varchar(2) comment '性别';       # 在students数据表中添加sex字段
desc students;                  #查询数据表结构

如下图所示:

mysql的ddl语句 mysql ddl语句有哪些_表名_13

这样我们就成功添加了名为sex的字段了。

修改数据表字段类型

修改数据表字段类型语法如下:

alter table 表名 modify 字段名 字段新数据类型(长度);

示例代码如下:

use mytest;             # 使用mytest数据库
alter table students modify upassword int(15);          #修改students数据表中的upassword字段的字段类型为int
desc students;          #查看students数据表结构

如下图所示:

mysql的ddl语句 mysql ddl语句有哪些_mysql的ddl语句_14

修改字段名、字段类型

修改字段名、字段类型语法如下:

alter table 表名 change 旧字段名 新字段名 字段类型(长度) [comment 注释] [约束]

示例代码如下:

alter table students change upassword upwd int(30) comment '学生密码';

如下图所示:

mysql的ddl语句 mysql ddl语句有哪些_表名_15

修改数据表名

修改数据表名语法如下:

alter table 表名 rename to 新表名;

示例代码如下:

alter table students rename to students_table;

如下图所示:

mysql的ddl语句 mysql ddl语句有哪些_mysql的ddl语句_16

删除

删除数据表字段

删除数据表字段语法如下:

alter table 表名 drop 字段名;

示例代码如下:

use mytest;                     #使用mytest数据库
alter table students_table drop sex;        #删除students_table数据表中的sex字段

如下图所示:

mysql的ddl语句 mysql ddl语句有哪些_表名_17

删除数据表

删除数据表语法如下:

truncate table 表名;      #删除指定表,并重新创建该表
drop table [if exists] 表名;  #删除数据表

示例代码如下:

use mytest;         #使用mytest数据库
truncate table students_table;  #删除students_table数据表并重新创建该表
show tables;        #查询当前数据库所有表
drop table if exists stdenets_tables;   #当students_tables数据表存在时删除
show tables;        #查询当前数据库所有表

如下图所示:

mysql的ddl语句 mysql ddl语句有哪些_数据库_18

END!

好了,MySQL基础——DDL语句就学到这里了