MySQL学习笔记之DDL(Data Definition Languages)语句

1. DDL概念

DDL:数据定义语言,定义了不同的数据段、数据库、表、列、索引等数据库对象。就是对数据库内部的对象进行创建、删除、修改等操作的语言。常用的语句关键字主要包括create、drop、alter。

2. 登录数据库系统

1)启动MySQL服务器后,输入以下命令连接MySQL服务器
在这里插入图片描述

-h:host(主机名) -u:username(用户名) -p:password(密码)

2)连接MySQL后的界面
在这里插入图片描述

3. 查看现有的数据库

1)`show databases`

在这里插入图片描述
刚安装好的MySQL中都有4个数据库,都是安装MySQL时系统自动创建的,其各自功能如下:
information_scheme:主要存储了系统中的一些数据库对象信息,比如用户表信息、列信息、权限信息、字符集信息、分区信息等。
cluster:存储了系统的集群信息。
mysql:存储了系统的用户权限信息。
test:系统自动创建的测试数据库,任何用户都可以使用。

4. 创建数据库

1)CREATE DATABASE dbname
在这里插入图片描述
注:如果存在的话就会报错。
在这里插入图片描述
避免报错的话可以:

create database if not exists testdb

在这里插入图片描述
2)结果

show databases

在这里插入图片描述

5. 删除数据库

 `drop database dbname;`
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190309195749260.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zODk2MDA1MA==,size_16,color_FFFFFF,t_70)

注:数据库删除后,下面的所有表数据都会全部删除,所以删除前一定要仔细检查并做好相应备份。

6. 创建表

1)选择数据库:use dbname
数据表一定要在数据库中创建,否则就会报错。
在这里插入图片描述
2)创建表的语法

create table tablename(
column_name_1 column_type_1 constraints,
column_name_2 column_type_2 constraints,

column_name_n column_type_n constraints, );

column_name_1是列的名字,column_type_1列的数据类型,constraints是列的约束条件,
例子:

use testdb;
create table if not exists emp(
    ename varchar(10),
    hiredate date,
    sal decimal(10,2),
    deptno int(2)
);

在这里插入图片描述
3)查看当前数据库中所有的表 show tables
在这里插入图片描述
4)查看表的定义

desc tablename

在这里插入图片描述
当要获得更全面的表定义信息时用show create table emp \G; 命令
在这里插入图片描述
\G 选项的含义是使用记录能够按照字段 向排列,以便更好地显示内容较长的记录。

7. 删除表

drop table tablename;

在这里插入图片描述
注:
1.在删除表的时候要谨慎,以避免误删,导致数据丢失,所以在删除前最好做好备份工作;
2.在删除表时,如果当前表存在外键,则先删除外键,再删除该表;
3.在删除有关联外键表时,则先删除子表[存在外键的表],在删除主表。

8. 修改表

对于已经创建好的表,尤其是已经存有大量数据的表,如果需要做一些结构上的改变,可以先将表删除drop,然后再按照新的表定义重建表。但需要重新加载数据,并且有服务在访问表时,也会对服务产生影响。因此在大多数情况下,表结构的改变都使用alter table语句。

8.1、修改表名

语法:alter table 旧表名 rename [to] 新表名
在这里插入图片描述

8.2、修改字段

语法:alter table 表名 change 旧属性名 新属性名 新属性类型
在这里插入图片描述
1)修改字段类型
在这里插入图片描述
2)修改字段名和类型
在这里插入图片描述
语法:alter table 表名 modify 旧属性名 新属性名 新属性类型
在这里插入图片描述
注:change和modify都可以修改表的定义,不同的是change后面需要写两次列名,不方便。但是change可以修改列名称,modify则不能。

8.3、新增字段

语法:alter table tablename add [column] column_definition [first | after col_name]
在这里插入图片描述

8.4、删除字段

语法: alter table tablename drop [column] column_name在这里插入图片描述

8.5、修改字段排列顺序

前面介绍的字段的新增和修改语法(add、change、modify)中,都有一个可选项first | after column_name,这个选项可以用来修改字段在表中的位置,add增加的新字段默认是加在表的最后位置,而change、modify默认都不会改变字段的位置。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_38960050/article/details/88370583