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数据类型及列类型声明
字符串类型
字段属性和限制(约束)
在创建表的时候 表中的字段可以拥有一些属性修饰
约束:
主键自增
非空约束
主键约束: 必须的
每一张表都要有一个主键 一般的主键都是整数类型 而且是自增的 一般主键和表都是没有关系的 主要是用来确认唯一性的 建立表与表之间的关系的。
非空约束: 不是必须的
用于具体的某一列 表示新增数据的时候 这个列一定要有值 不能为空
外键约束: 表示必须的
用来维护表与表之间的关系的