DDL(数据定义语言)和DML(数据操控语言)以及图形化工具的下载
前言
在数据库管理中,DDL(数据定义语言)和DML(数据操控语言)是核心组成部分,分别用于定义和操作数据库结构与数据。DDL语句包括如 CREATE
, ALTER
, 和 DROP
等,用于创建、修改和删除数据库对象。而DML语句,如 SELECT
, INSERT
, UPDATE
, 和 DELETE
,则用于对数据进行查询和修改。为了简化数据库管理,图形化工具提供了直观的用户界面,使得操作变得更加高效和友好。本文将深入探讨DDL和DML的基本用法,并提供常用图形化工具的下载链接,帮助你更好地管理和操作数据库。
提示:以下是本篇文章正文内容,下面案例可供参考
DDL(数据库操作)
查询所有数据库:
show databases;
查询当前数据库:
select database();
使用数据库:
use 数据库名 ;
创建数据库:
create database [ if not exists ] 数据库名 ;
删除数据库:
drop database [ if exists ] 数据库名 ;
注意事项:上述语法中的database,也可以替换成 schema。如:create schema db01;
MySQL客户端工具
介绍:DataGrip是JetBrains旗下的一款数据库管理工具,是管理和开发MySQL、Oracle、PostgreSQL的理想解决方案。
官网:http:// https://www.jetbrains.com/zh-cn/datagrip/
安装: 参考资料中提供的《DataGrip安装手册》
dataGrip安装手册
安装
官网:https://www.jetbrains.com.cn/
运行
进入解压后的bin目录,选择 datagrip64.exe,然后右键,选择 发送到 ---》 桌面快捷
方式。
双击 datagrip64.exe ,运行。 运行之后, 会显示需要注册账号登录,才可以试
用。 所以我们需要注册一个账号,然后登录,登录完成之后。
选择 Start trial 试用。
选择创建一个新项目 New Project,指定工程的名称(自己随意起)。
优化
进入dataGrip之后,将eval-reset插件拖入dataGrip直接进行安装
然后安装完成后, 会提示是否马上重启, 选择 Restart, 重启即可。
安装完成后,在Help栏就会出现 Eval Reset 菜单。插件安装完成后,选择Help-->Eval
Reset。
勾选 Auto reset before per restart,此时datagrip会在每一次重启之前,重置试用时
间, 从而无限次试用。
连接MySQL
输入comment备注信息 ; 输入连接的Host主机地址,默认localhost;输入用户名,默认root
;输入密码 , 安装mysql的时候, 设置的mysql的访问密码 。
然后点击 Download 下载数据库连接驱动。
驱动下载完成之后, 点击 Test Connection。 如果显示 Successed 就说明连接成功了。
然后点击 OK 按钮,连接数据库。
展示所有数据库
默认情况下 , 连接上了MySQL数据库之后, 数据库并没有全部展示出来。 需要选择
要展示哪些数据库。
DDL(表操作)
创建表
create table 表名(
字段1 字段类型 [ 约束 ] [ comment 字段1注释 ] ,
......
字段n 字段类型 [ 约束 ] [ comment 字段n注释 ]
) [ comment 表注释 ] ;
约束
- 概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。
- 目的:保证数据库中数据的正确性、有效性和完整性。
约束 | 描述 | 关键字 |
非空约束 | 限制该字段值不能为null | not null |
唯一约束 | 保证字段的所有数据都是唯一、不重复的 | unique |
主键约束 | 主键是一行数据的唯一标识,要求非空且唯一 | primary key(auto_increment自增) |
默认约束 | 保存数据时,如果未指定该字段值,则采用默认值 | default |
外键约束 | 让两张表的数据建立连接,保证数据的一致性和完整性 | foreign key |
数据类型
MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。
分类 | 类型 | 大小(byte) | 范围 | 格式 | 描述 |
日期类型 | date | 3 | 1000-01-01 至 9999-12-31 | YYYY-MM-DD | 日期值 |
time | 3 | -838:59:59 至 838:59:59 | HH:MM:SS | 时间值或持续时间 | |
year | 1 | 1901 至 2155 | YYYY | 年份值 | |
datetime | 8 | 1000-01-01 00:00:00 至 9999-12-31 23:59:59 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 | |
timestamp | 4 | 1970-01-01 00:00:01 至 2038-01-19 03:14:07 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值,时间戳 |
分类 | 类型 | 大小(byte) | 有符号(SIGNED)范围 | 无符号(UNSIGNED)范围 | 描述 | 备注 |
数值类型 | tinyint | 1 | (-128,127) | (0,255) | 小整数值 | |
smallint | 2 | (-32768,32767) | (0,65535) | 大整数值 | ||
mediumint | 3 | (-8388608,8388607) | (0,16777215) | 大整数值 | ||
int | 4 | (-2147483648,2147483647) | (0,4294967295) | 大整数值 | ||
bigint | 8 | (-2^63,2^63-1) | (0,2^64-1) | 极大整数值 | ||
float | 4 | (-3.402823466 E+38,3.402823466351 E+38) | 0 和 (1.175494351 E-38,3.402823466 E+38) | 单精度浮点数值 | float(5,2):5表示整个数字长度,2 表示小数位个数 | |
double | 8 | (-1.7976931348623157 E+308,1.7976931348623157 E+308) | 0 和 (2.2250738585072014 E-308,1.7976931348623157 E+308) | 双精度浮点数值 | double(5,2):5表示整个数字长度,2 表示小数位个数 | |
decimal | 小数值(精度更高) | decimal(5,2):5表示整个数字长度,2 表示小数位个数 |
分类 | 类型 | 大小 | 描述 |
字符串类型 | char | 0-255 bytes | 定长字符串 |
varchar | 0-65535 bytes | 变长字符串 | |
tinyblob | 0-255 bytes | 不超过255个字符的二进制数据 | |
tinytext | 0-255 bytes | 短文本字符串 | |
blob | 0-65 535 bytes | 二进制形式的长文本数据 | |
text | 0-65 535 bytes | 长文本数据 | |
mediumblob | 0-16 777 215 bytes | 二进制形式的中等长度文本数据 | |
mediumtext | 0-16 777 215 bytes | 中等长度文本数据 | |
longblob | 0-4 294 967 295 bytes | 二进制形式的极大文本数据 | |
longtext | 0-4 294 967 295 bytes | 极大文本数据 |
char(10): 最多只能存10个字符,不足10个字符,占用10个字符空间 性能高 浪费空间
varchar(10): 最多只能存10个字符,不足10个字符, 按照实际长度存储 性能低 节省空间
查询当前数据库所有表:
show tables;
查询表结构:
desc 表名;
查询建表语句:
show create table 表名;
添加字段:
alter table 表名 add 字段名 类型(长度) [comment 注释] [约束];
修改字段类型:
alter table 表名 modify 字段名 新数据类型(长度);
修改字段名和字段类型:
alter table 表名 change 旧字段名 新字段名 类型 (长度) [comment 注释]
删除字段:
alter table 表名 drop column 字段名;
修改表名:
rename table 表名 to 新表名;
删除表:
drop table [ if exists ] 表名;
注意事项:在删除表时,表中的全部数据也会被删除。
DML
DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增、删、改操作。
添加数据(INSERT)
insert语法:
- 指定字段添加数据:insert into 表名 (字段名1, 字段名2) values (值1, 值2);
- 全部字段添加数据:insert into 表名 values (值1, 值2, ...);
- 批量添加数据(指定字段):insert into 表名 (字段名1, 字段名2) values (值1, 值2), (值1, 值2);
- 批量添加数据(全部字段):insert into 表名 values (值1, 值2, ...), (值1, 值2, ...);
注意事项:
- 插入数据时,指定的字段顺序需要与值的顺序是一一对应的。
- 字符串和日期型数据应该包含在引号中。
- 插入的数据大小,应该在字段的规定范围内。
update语法
修改数据:
update 表名 set 字段名1 = 值1 , 字段名2 = 值2 , .... [ where 条件 ] ;
注意事项:
修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。
delete语法
删除数据:
delete from 表名 [ where 条件 ];
注意事项:
- DELETE 语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据。
- DELETE 语句不能删除某一个字段的值(如果要操作,可以使用UPDATE,将该字段的值置为NULL)。
总结
总结而言,DDL语句(如 CREATE
, ALTER
, DROP
)是数据库设计和结构调整的基础,而DML语句(如 SELECT
, INSERT
, UPDATE
, DELETE
)则用于数据的增删改查。掌握这两类语句对于高效管理和操作数据库至关重要。同时,图形化工具如 dataGrip等,能够通过直观的用户界面简化数据库操作,提高工作效率。本文提供的图形化工具下载链接将帮助你更方便地进行数据库管理和数据操作,为你的开发工作带来极大的便利。