MySQL基础学习1:基本概念以及单表CURD操作

基本概念

什么是数据库

本质上是一个文件系统,通过标准的SQL语句对数据进行CURD操作.

关系型数据库

存放实体与实体之间关系的数据库,例如用户购物下订单,订单包含商品.他们之间的关系可以通过E-R图表示。

数据库发展历程如下所示:

  • 没有数据库,使用磁盘文件存储数据;
  • 层次结构模型数据库;
  • 网状结构模型数据库;
  • 关系结构模型数据库,使用二维表格来存储数据;
  • 关系-对象模型数据库;No-sql

Java与数据库中的表类比:

  • 类-------表
  • 类中属性-------表中的字段
  • 对象--------记录
    MySQL基础学习1:基本概念以及单表CURD操作_第1张图片

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)
MySQL基础学习1:基本概念以及单表CURD操作_第2张图片

修改字段名:
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就业班视频

你可能感兴趣的:(学习笔记,MySQL)