(My)SQL DDL语句

SQL语句主要可以分为以下3个类别:
1:DDL语句:数据定义语言。常用关键字主要包括create、drop、alter等。
2:DML语句:数据操纵语言,用于添加、删除、更新、查找。其只对表内部数据进行操作,而不涉及表的定义和结构的修改。常用关键字主要包括insert、delete、uptdate和select。
3:DCL语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。主要关键字包括grant、revoke。

在这里插入图片描述

以上是启动mysql服务的界面。
在以上命令行中mysql代表客户端命令,"-u"后面跟的是连接的数据库用户,"-p"表示需要输入密码。
如果数据库设置正常,并输入了正确的密码。将会看到上面一段欢迎界面和一个"mysql>“提示符。
在欢迎界面说明了以下几部分内容:
命令的结束符用’’;“或”\g"结束。
客户端的连接id,记录了目前此数据库被连接的次数。
mysql服务器的版本,本例中是8.0.18.
通过"help;“或”\h"命令来显示帮助内容,通过”\c"来清楚命令行buffer。
在mysql>提示符后面输入所要执行的SQL语句,每个SQL语句以";“或者”\g"结束,按回车键执行。

2.2.1DDL语句:
1:创建数据库:

mysql> create database test1;

2:查看系统中存在的数据库:

mysql> show databases;

在这里插入图片描述
information_schema:主要存储了系统中的一些数据库对象信息。
mysql:存储了系统用户权限的信息。

3:选择要操作的数据库:

mysql> use test1

4:选择操作的数据库后,查看test1中创建的所有数据表:

mysql> show tables;

5:删除数据库:

mysql> drop database test1;

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

6:创建表:
mysql的表名是以目录的形式存在于磁盘上的。
在数据库中创建一张表的基本语法如下:
CREATE TABLE table(column_name_1 column_type_1 constraints,…)
column_name:列的名字。
column_type:列的数据类型。
constraints:列的约束条件。

例如,创建一个名称为emp的表。表中包括ename(姓名)、hiredata(雇佣日期)和sal(薪水)3个字段,字段类型分别为varchar(10)、data、int(2)。

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

7:查看表:

mysql> desc smp;

在这里插入图片描述

为了得到更加全面的表信息,有时需要查看创建表的SQL语句:

mysql> show create table func \G;

在这里插入图片描述

可以看到,通过以上语句,除了可以看到表的定义以外,还一看到表的engine(存储引擎)和charset(字符集)等信息。"\G"选项的含义是使得记录能够按照字段竖向排列,以便更好地显示内容较长的记录。

8:删除表:

mysql> drop table emp;

9:修改表:
对于已经创建好的表,油漆是已经有大量数据的表,如果需要做一些结构上的修改,可以先将表删除,然后按照新的定义重建表。但是这又一定的缺陷,如果有服务在访问表,也会对服务产生影响。
因此,在大多数情况下,表结构的更改都使用alter table语句,以下是一些常用命令:

1)修改表类型,语法如下:
例如修改表emp的ename字段定义,将varchar(10)改为varchar(20)。

mysql> alter table emp modify ename varchar(20);

2)增加表字段,语法如下:
在表emp中心增加字段age,类型为int(3):

mysql> alter table emp add age int(3);

3)删除表字段:
将字段age删掉:

mysql> alter table emp drop column age;

4)字段改名:
将age改名为age1,同时修改字段类型为int(4):

mysql> alter table emp change age age1 int(4);

注意:change和modify都可以修改表的定义,不同的是change后面要写两次列名,不方便。但是change的优点是可以修改列名称,modify则不能。

5:修改字段排列顺序:
前面介绍的字段增加和修改语法中,都有一个可选项first|after column_name,这个选项可以用来修改字段在表中的位置,ADD增加的新字段默认是加在表的最后位置,而CHNANGE/MODIFY默认不改变字段的位置。

例如将新增的字段birth data加在ename之后:

mysql> alter table emp add birth data after ename;

修改字段age,将它放在最前面:

mysql> alter table emp modify age int(3) first;

注意:CHANGE/FIRST|AFTER COLUMN 这些关键字都属于MySQL在标准SQL上的扩展,在其它数据库上不一定适用。

6:更改表名:
将emp改名为emp1:

mysql> alter table emp rename emp1;

猜你喜欢

转载自blog.csdn.net/weixin_43916777/article/details/104357956