注意:以下操作均可以利用idea提供的图形化界面工具操作
一、DDL——关于数据库的操作
DDL英文全称是 Data Definition Language,数据定义语言,用来定义数据库对象(数据库、表)
1、查询
(1)查询所有数据库:show databases;
(2) 查询当前数据库:select database();
其中information_schema 、mysql 、performance_schema 、sys 为系统安装完自带的数据库,是系统数据库。
2、创建
(1)创建数据库:create database [ if not exists ] 数据库名;
在MySQL中数据库名字不可重复
例:create database db01; 创建数据库db01,但若db01已经存在则会报错
create database if not exists db01; 若db01不存在,则创建数据库db01。即使存在,也不会报错。
3、使用
(1)使用数据库:use 数据库名;
例:use db01; 当自己已经不知道在操作哪个数据库时,可用 select database(); 来确定。
4、删除
删除数据库:drop database [ if exists ] 数据库名;
例:drop database db02; 删除数据库db02,但若删除一个不存在数据库如db02,则会报错。
drop database if exists db02; 如果db02存在,则删除db02。即使不存在,也不会报错。
5、注意事项
上述语法中的database,也可以替换成 schema。如:create schema db01;
二、DDL——关于表的操作
1、创建
(1)语法
create table 表名(
字段1 字段类型 [ 约束 ] [ comment 字段1注释] ,
........
字段n 字段类型 [ 约束 ] [ comment 字段n注释]
)[ comment 表注释];
注意:创建语句结束后要加“ ;”,每一个字段结束后要加“ ,”,最后一个字段无需添加。
(2)约束
概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。
目的:保证数据库中数据的正确性、有效性、完整性。
约束 | 描述 | 关键字 |
非空约束 | 限制该字段值不能为null | not null |
唯一约束 | 保证字段的所有数据都是唯一的、不重复的 | unique |
主键约束 | 主键是一行数据的唯一标识,要求非空且唯一 | primary key (auto_increment自增) |
默认约束 | 保存数据时,如果未指定该字段的值,则采用默认值 | default |
外键约束 | 让两张表的数据建立连接,保证数据的一致性和完整性 | foreign key |
例:创建一个表格如下,要求:id为唯一标识、username为非空且唯一、name为非空、age无约束、gender默认值为男
create table tb_user( id int primary key auto_increment comment 'ID,唯一标识', username varchar(20) not null unique comment '用户名', name varchar(10) not null comment '姓名', age int comment '年龄', gender char(1) default '男'comment '性别' -- default后加默认值 ) comment '用户表';
注:关于MySQL varchar等数据类型整理相关链接如下:
https://download.csdn.net/download/2401_83190311/89686750?spm=1001.2014.3001.5503
2、查询
(1)查询当前数据库下的所有表:show tables;
(2)查询表结构:desc 表名;
(3)查询建表语句:show create table 表名; ( 在最新idea中,可以右击所要查的表名,找Go to DDL或点击表名按空格)
3、修改
(1)添加字段:alter table 表名 add 字段名 类型(长度) [ comment 注释 ] [ 约束 ];
例:为表tb_user 添加字段 qq varchar(11)
alter table tb_user add qq varchar(11) comment 'QQ';
(2)修改字段类型:alter table 表名 modify 字段名 新数据类型(长度);
例:修改表tb_user 字段类型 qq varchar(13)
alter table tb_user modify qq varchar(13) comment 'QQ';
(3)修改字段名和字段类型:alter table 表名 change 旧字段名 新字段名 类型(长度) [ comment 注释 ] [ 约束 ];
例:修改tb_user 字段名qq为qq_num varchar(13)
alter table tb_user change qq qq_num varchar(13) comment 'QQ';
(4)删除字段:alter table 表名 drop column 字段名;
例:删除tb_user的qq_num 字段
alter table tb_user drop column qq_num;
(5)修改表名:rename table 表名 to 新表名;
例:将tb_user表名修改为emp
rename table tb_user to user;
注:或在idea中右击所要修改的表,点击Modify Table进行修改即可
4、删除
删除表:drop table [ if exists ] 表名;
注:在删除表时,表中的全部数据也会被删除。
例:drop table tb_user; 删除表tb_user,若不存在则会报错
drop table if exists tb_user; 表tb_user 存在则删除,不存在也不报错。
5、注意事项
对表的创建、查询等以上所有操作要在对应数据库下运行;否则会出现以下报错