MySQL基础学习1:基本概念以及单表CURD操作
基本概念
什么是数据库
本质上是一个文件系统,通过标准的SQL语句对数据进行CURD操作.
关系型数据库
存放实体与实体之间关系的数据库,例如用户购物下订单,订单包含商品.他们之间的关系可以通过E-R图表示。
数据库发展历程如下所示:
- 没有数据库,使用磁盘文件存储数据;
- 层次结构模型数据库;
- 网状结构模型数据库;
- 关系结构模型数据库,使用二维表格来存储数据;
- 关系-对象模型数据库;No-sql
Java与数据库中的表类比:
- 类-------表
- 类中属性-------表中的字段
- 对象--------记录
SQL语句
SQL语句的分类
DDL:数据定义语言,用来定义数据库对象:数据库,表,列等,例如创建、删除、修改数据库和表结构等;
操作对象:数据库和表
举例:create,alter,drop
DML: 数据操作语言, 用来对数据库中表的记录进行更新,例如:增、删、改表记录;
操作对象:记录
举例:insert/update/delete
DQL: 数据查询语言,用来查询数据库中表的记录
DCL: 数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户;grant revoke
操作对象:用户,事务,权限
单表CURD操作
DDL
操作对象:数据库和表 关键词:create alter drop
1.对数据库的操作
- 创建:create database [if not exists] 数据库名称 [character set 字符集] [collate 校对规则];
- 删除: drop database 数据库名称
- 修改:alter database 数据库名称 character set 编码 collate 校对规则
- 常用命令:
查看所有的数据库: show databases;
2.对表的操作
- 创建表:
create table user(
id int primary key auto_increment,
username varchar(20)
);
- 修改表
格式: alter table 表名 …
修改表名:alter table user rename to user1
添加字段:alter table user add password varchar(20)
修改字段名:alter table user change password pwd varchar(20);
修改字段描述:alter table user modify pwd int;
删除字段alter table user drop pwd;
- 常用命令
切换或者进入数据库: use 数据库名称;
查看当前数据库下所有表: show tables;
查看表结构:desc 表名;
查看建表语句:show create table 表名;
DML:数据操作语言
操作对象:记录(行)
关键词:insert update delete
1.插入
格式1:
insert into 表名 values(字段值1,…,字段值n);
例如:insert into user values(1,'tom');
格式2: insert into 表名(字段名,字段名1…) values(字段值,字段值1…);
例如:insert into user (username,id) values('jack',4);
2. 修改
update user set username='jerry' where username='jack';
3. 删除
delete from user where id = '2';
4. 查询
select ... from 表名 where 条件 group by 分组字段 having 条件 order by 排序字段 ase|desc
约束
为了保证数据的有效性和完整性
mysql中常用的约束:
- 主键约束(primary key)
被修饰过的字段唯一非空,一张表只能有一个主键,这个主键可以包含多个字段 - 唯一约束(unique)
被修饰过的字段唯一,对null不起作用 - 非空约束(not null)
特点:被修饰过的字段非空 - 外键约束(foreign key)
补充
-
truncate 清空表
格式: truncate 表名; 干掉表,重新创建一张空表
和delete from 区别: delete属于DML语句, truncate属于DDL语句, delete逐条删除, truncate干掉表,重新创建一张空表 -
auto_increment 自增
1.被修饰的字段类型支持自增. 一般int
2.被修饰的字段必须是一个key 一般是primary key
参考:传智播客Java就业班视频