mysql
mysql介绍
mysql是现在流行的开源 免费的关系型数据库。
特点:
- 免费 开源数据库
- 小巧 功能齐全
- 使用便捷
- 可运行于Windows或Linux操作系统
- 可适用于中小型甚至大型网站应用
mysql 存储结构说明
数据库内部存储结构说明
数据库存储数据的结构说明
mysql数据库服务器可以创建多个数据库 database 每个database都是独立的
每一个数据库可以创建多张数据表 table 开发中一般是一个工程对应一个数据库
每张数据表 用来保存 数据记录 表示数据库的基本单元 表 对应 java 对象
sql 语句( 简称 结构化查询语句)
特点: 一条SQL语句一个执行结果
为了使用SQL编写复杂程序 各个数据库厂商对SQL进行增强
SQL语句学习流程
库 --- 表 ----- 表中记录/数据
SQL操作
1 DDL
对数据库操作
MySQL对大小写不敏感
一条SQL语句一个执行结果 SQL语句的结束使用分号 ;
注意 每一条SQL语句结束 一定要加 ;
1 查看所有数据库: show databases
2 新建数据库 create database 库名
3 使用某一个库: use 库名
4 查看当前使用的库: select database();
5 切换使用库 use 库名
6 删除库 drop database 库名
对表操作
建表语法: create table 表名(列名 类型(长度) , 列名 类型(长度).....)
一个数据表可以存在很多个列 每列具有类型和长度
注意: 创建表之前 必须使用 use 库名 语法指定操作数据库
MySQL 常用数据类型:
java 中String char ------- mysql 中的字符类型 char varchar
java boolean ------ MySQL 逻辑性 bit 存放一位数值 0 或者1
java中Date ------- MySQL日期类型date(只有日期) time(只有时间) datatime(日期时间都有)
说明: 创建数据表时 只有字符串类型必须写长度 而其他类型都有默认的长度
java中的一个对象 会对应数据库中的一条记录
注意: 一般表的主键都是int类型 并且是自增的
表的相关操作
查询表: show tables
表结构的修改:
修改表名: rename table 旧表名 to 新表名
新增列 alter table 表名 add 列名 类型(长度)
修改列 alter table 表名 change 旧列名 新列名 类型(长度)
删除列 alter table 表名 drop 列名
MySQL数据类型及列类型声明
字符串类型
字段属性和限制(约束)
在创建表的时候 表中的字段可以拥有一些属性修饰
约束:
主键自增
非空约束
主键约束: 必须的
每一张表都要有一个主键 一般的主键都是整数类型 而且是自增的 一般主键和表都是没有关系的 主要是用来确认唯一性的 建立表与表之间的关系的。
非空约束: 不是必须的
用于具体的某一列 表示新增数据的时候 这个列一定要有值 不能为空
外键约束: 表示必须的
用来维护表与表之间的关系的
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!