三、MySQL基础系列笔记之SQL DDL语句

作者: 温新

分类: 【MySql】

阅读: 2178

时间: 2020-10-09 13:04:57

DDL是对数据库内部的对象进行创建、删除、修改等操作的语言。

DML与DDL的区别在于,DML是操作数据表内部的数据,并不涉及表的定义、结构的修改。

连接数据库

语法

mysql -u用户名 -p密码 -h主机名 -P端口号

案例

mysql -uroot -p123456

1、创建数据库

语法

CREATE DATABASE 数据名;

案例:创建demo数据

mysql> CREATE DATABASE demo;
Query OK, 1 row affected (0.00 sec)

命令执行完后,提示的一行信息解释:

'Query OK'表示命令执行成功;

'1 row affected'表示数据库操作中1行受到影响;

'0.00 sec'表示执行该语句用于多长时间。

查看所有数据库

语法

show databases;

选择数据库

语法

use 数据库名;

案例

use demo;

2、删除数据库

语法

drop database 数据库名;

案例

drop database demo;

3、创建数据表

语法

create table [if not exists] 表名(
	字段名1 字段类型 [约束条件] [comment '字段说明'],
    字段名2 字段类型 [约束条件] [comment '字段说明'],
	...
) engine=table_type;

案例:创建emp表

create table if not exists emp(
	name varchar(20) comment '姓名',
    sal decimal(10,2) comment '薪水'
) engine=innodb;

查看表结构

语法

desc 表名;

案例

mysql> desc emp;
+-------+---------------+------+-----+---------+-------+
| Field | Type          | Null | Key | Default | Extra |
+-------+---------------+------+-----+---------+-------+
| name  | varchar(20)   | YES  |     | NULL    |       |
| sal   | decimal(10,2) | YES  |     | NULL    |       |
+-------+---------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

mysql> desc emp \G;

4、删除表

语法

drop table 表表;

案例

drop table emp;

5、修改表

5.1、修改表类型-modify

modify主要用于修改表中字段的数据长度、数据类型及字段的约束条件。

语法

alter table 表名 modify 字段名 字段类型 [first | alter 字段名];

案例

mysql> desc emp;
+-------+---------------+------+-----+---------+-------+
| Field | Type          | Null | Key | Default | Extra |
+-------+---------------+------+-----+---------+-------+
| name  | varchar(20)   | YES  |     | NULL    |       |
| sal   | decimal(10,2) | YES  |     | NULL    |       |
+-------+---------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

# 案例一:修改sal类型为int
mysql> alter table emp modify sal int;
Query OK, 0 rows affected (0.11 sec)

# 案例二:修改name类型长度为50且非空
mysql> alter table emp modify name varchar(50) not null;
Query OK, 0 rows affected (0.12 sec)

5.2、增加表字段-add

语法

alter table 表名 add 字段名 字段类型 [first | alter 字段名];

案例

# emp表中增加age字段
mysql> alter table emp add age tinyint not null default 0 comment '年龄';

5.3、删除表字段-drop

语法

alter table 表名 drop 字段名;

案例

# 删除emp中的age字段
mysql> alter table emp drop age;
Query OK, 0 rows affected (0.13 sec)

5.4、字段改名-change

语法

alter table 表名 change 旧字段名 新字段名 字段类型 [first | alter 字段名];

案例

mysql> alter table emp change name new_name varchar(20);
Query OK, 0 rows affected (0.04 sec)

mysql> alter table emp change sal salary decimal(10,2);
Query OK, 0 rows affected (0.04 sec)

MySQL modify与change的区别:

modify只能更改字段属性,如 name varchar(50)改为name char(40)

change可以更改字段名与字段类型,如name varchar(5)改为name int

5.5、更改表名-rename

语法

alter table 旧表名 rename [to] 新表名;

案例

mysql> alter table emp rename to emp1;

命令总结

# 1、连接数据库
mysql -uroot -p

# 2、创建数据库
create database 表名;

# 3、选择数据库
use 数据库名;

# 4、删除数据库
drop database 数据库名;

# 5、创建表
create table 表名(
	字段名 字段类型 [约束条件]
);

# 6、查看表结构
desc 表名;

# 7、删除表
drop table 表名;

# 8、修改表类型
alter table 表名 modify 字段名 字段类型;

# 9、增加字段
alter table 表名 add 字段名 字段类型;

# 10、删除表字段
alter table 表名 drop 字段名;

# 11、修改字段名
alter table 表名 change 旧字段名 新字段名 字段类型;

# 12、修改表名
alter table 旧表名 rename to 新表名;

2020-10-09

请登录后再评论