Go...
Go...
黑马程序员JavaWeb开发教程
文章目录
一、MySQL概述1、概述2、数据模型(1)MySQL数据模型(2)特点
3、SQL简介
二、数据库设计-DDL1、数据库(1)DDL数据库操作(2)注意事项(3)MySQL客户端工具-图形化工具
2、表(创建、查询、修改、删除)(1)创建(2)设计表结构的基本流程(3)查询(4)修改(5)删除
一、MySQL概述
1、概述
数据库:DataBase(DB),是存储和管理数据的仓库数据库管理系统:DataBase Management System(DBMS)操纵和管理数据库的软件SQL:Structured Query Language,操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准
2、数据模型
(1)MySQL数据模型
关系型数据库:建立在关系模型基础上,有多张相互连接的二维表组成的数据库
(2)特点
使用表存储数据,格式统一,便于维护使用SQL语言操作,标准统一,使用方便,可用于复杂查询
3、SQL简介
SQL:一门操作关系型数据库的编程语言,定义操作所有关系型数据库的统一标准通用语法
SQL语句可以单行或者多行书写,一分号结尾SQL语句可以使用空格/缩进来增强语句的可读性MySQL数据库的SQL语句不区分大小写注释
单行注释:-- 注释内容,或者 # 注释内容多行注释:/*注释内容*/ SQL语句通常被分为四大类
DDL:数据定义语言,用来定义数据库对象(数据库,表,字段)DML:数据操作语言,用来对数据库表中的数据进行增删改DQL:数据查询语言,用来查询数据库中表的记录DCL:数据控制语言,用来创建数据库用户、控制数据库的访问权限
二、数据库设计-DDL
1、数据库
(1)DDL数据库操作
查询
查询所有数据库:show databases;查询当前数据库:select databases(); 使用
使用数据库:use 数据库名; 创建
创建数据库:create database [if not exists] 数据库名; 删除
删除户数据库:drop database [if exists] 数据库名;
(2)注意事项
上述语法中的database,也可以替换为schema,如create schema db01;但我们经常使用的还是database
(3)MySQL客户端工具-图形化工具
DataGrip
介绍:DataGrip是JetBrains其下的一款数据库管理工具,是管理和开发MySQL、Oracle、PostgreSQL的理想解决方案官网:https://www.jetbrains.com/zh-cn/datagrip/ IDEA也可以用来作为MySQL的图形化工具
之后可以在console窗口对数据库进行操作了
2、表(创建、查询、修改、删除)
(1)创建
语法
create table 表名(
字段1 类型 [约束][comment 字段1注释],
字段2 类型 [约束][comment 字段2注释],
字段3 类型 [约束][comment 字段3注释]
)[comment 表注释];
约束
概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据目的:保证数据库中数据的正确性、有效性和完整性常见的约束
非空约束,限制该字段值不能为空,not null为以约束,保证字段的所有数据都是唯一、不重复的,unique主键约束,主键是一行数据的唯一标识,要求非空并且唯一,primary key默认约束,保存数据的时候,如果未指定该字段的值,则采用默认值,default外键约束,让两张表的数据检录连接,保证数据的一致性和完整性,foreign key
实例,建立下面这张表,不用填入数据
create table user(
id int primary key auto_increment comment 'ID,主键,自增长',
username varchar(32) not null unique comment '用户名,非空,唯一',
name varchar(32) not null comment '姓名,非空',
age int comment '年龄',
gender char(1) default'男' comment'性别,默认男'
)comment '用户表';
(2)设计表结构的基本流程
根据页面原型和需求,分析出 原型字段(类型+约束)添加一些基础字段(id + create_time + update_time)
create_time:当前这条数据的插入时间update_time:记录当前这条数据最后更新时间 创建出完整的表
(3)查询
查询当前数据库所有表:show tables;查询表结构:desc 表名;查询建表语句:show create table 表名;
# DDL表结构-查询
-- 查询当前数据库所有表
show tables;
-- 查询表结构
desc user;
-- 查询建表语句
show create table user;
(4)修改
添加字段:alter table 表名 add 字段名 类型(长度) [comment 注释][约束];修改字段类型:alter table 表名 modify 字段名 新数据类型(长度) ;修改字段名和字段类型:alter table 表名 change 旧字段名 新字段名 类型(长度)[comment 注释][约束] ;删除字段:alter table 表名 drop column 字段名 ;修改表名:rename table 表名 to 新表名;
# DDL表操作-修改
# 1. 添加字段:alter table 表名 add 字段名 类型(长度) [comment 注释][约束];
alter table user add phone varchar(32) not null comment'电话号码,非空';
# 2. 修改字段类型:alter table 表名 modify 字段名 新数据类型(长度) ;
alter table user modify phone varchar(13);
# 3. 修改字段名和字段类型:alter table 表名 change 旧字段名 新字段名 类型(长度)[comment 注释][约束] ;
alter table user change phone newphone varchar(32);
# 4. 删除字段:alter table 表名 drop column 字段名 ;
alter table user drop column newphone;
# 5. 修改表名:rename table 表名 to 新表名;
rename table user to tb_user;
(5)删除
删除表:drop table [if exists] 表名;注意在删除表的时候,表中的数据也会被删除
drop table emp;