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日
转载:感谢您对自如初博客网站的认可,所有文章均属原创文章,技术类文章转载请注明出处,“自如初博客”;文学类文章请带文本链接地址,否则视为侵权!
很赞哦!(2)