MySQL数据库---Day 01

一、数据库介绍和概述

(一)数据库(DataBaseDB

        指长期保存在计算机的存储设备上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合。

(二)数据库管理系统(DataBase Management SystemDBMS

        指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中的数据。

(三)数据库的特点

        a.可以实现数据的共享,用户可以同时存取数据库中的数据。
        b.减少大量重复的数据,减少数据的冗余,维护数据的一致性。
        c.数据的独立性,使数据库中逻辑结构和应用程序相互独立。
        d.数据实现集中控制。
        e.数据的一致性(保证多个用户同一时间对数据的增删查改,保证数据的正确性)和可维护性,确保数据的安全性(如:数据的丢失,越权使用)和可靠性。

二、关系数据库和非关系数据介绍

        MySQL:免费的数据库系统。被广泛用于中小型应用系统。体积小、速度快、总体拥有成本低,开放源代码。2008 年被 SUN 收购, 2009 SUN Oracle 收购。
        Oracle:目前比较成功的关系型数据库管理系统。运行稳定、功能齐全、性能超群、技术领先。主要应用在大型的企业数据库领域。
        SQL Server Microsoft 的产品。软件界面友好、易学易用,在操作性和交互性方面独树一帜。 Redis 是一个开源的、使用 C 语言编写的 NoSQL 数据库。
        Redis(非关系型数据库) :基于内存运行并支持持久化,采用 key-value (键值对)的存储形式,是目前分布式架构中不可或缺的一环。

三、SQL 的概念

        SQL( Structured Query Language :结构化查询语言。

       (一) SQL作用:

        a.是一种所有关系型数据库的查询规范,不同的数据库都支持;
        b.通用的数据库操作语言,可以用在不同的数据库中;
        c.不同的数据库 SQL 语句有一些区别

       (二) SQL分类:

        DDL( Data Definition Language ):数据定义语言,用来定义数据库对象:库、表、列等 create(创建) , drop(删除), alter(修改)
        DML( Data Manipulation Language ):数据操作语言,用来操作数据库表中的记录(数据) insert(增加) , update(修改), delete(删除)
        DQL( Data Query Language ):数据查询语言,用来查询记录(数据) select
        DCL( Data Control Language ):数据控制语言,用来定义访问权限和安全级别 grant if

四、dos连接数据库的命令

mysql -u 用户名 -p 密码
mysql -u 用户名 -P 端口号 -p 密码

五、数据类型

 常用的数据类型

数据类型含义
int整型
varchar字符串
double浮点型
datetime日期

六、数据库的使用

(一)创建数据库

create database 数据库名;

-- 如果已存在,则不创建;如果存在,则创建
create database if not exists 数据库名;

-- 创建数据库时指定字符集
create database 数据库名 character set 字符集;

(二)查看数据库

-- 查看所有数据库
show databases;

-- 查看指定的数据库
show create database 数据库名;

(三)修改数据库

alter database 数据库名 default character set 字符集;

(四)删除数据库

drop database 数据库名;

-- 删除指定数据库,如果存在,则删除;如果不存在,则不操作
drop database if exists 数据库名;

七、数据表的操作

(一)三大范式

        1第一大范式:保证每列的原子性
        2.第二大范式:一张表只能描述一件事
        3.第三大范式:决定某个字段值的必须是主键

(二)创建表

create table 表名(
字段名1 数据类型1,
字段名1 数据类型1,
字段名1 数据类型1,
.................
);

(二)向表中插入数据

insert into 表名(字段名) values(数据值);

(三)查看表中所有的数据

select *|字段名 from 表名;

(四)修改表中的数据

update 表名 set 字段名 = 字段值 where 条件表达式;

(五)修改表

-- 修改表结构,实现修改字段
alter table 表名 modify column 字段名 数据类型;
-- 修改表结构,实现添加字段
alter table 表名 add column 字段名 数据类型 位置(after在哪个之后);
-- 修改表结构,实现删除字段
alter table 表名 drop column 字段名;

(六)删除表

drop table 表名;

(七)查看表

show create table 表名;

八、蠕虫复制jiu

-- 将已存在的一张的表重新创建一次(只有字段)
create table 表名2 like 表名1;
-- 将已存在的表中数据复制到新表
insert into 表名2 select * from 表名1;

九、去重

-- distinct
select distinct 字段名 from 表名;

 十、别名

-- as 
select 字段名1 as 别名1, 字段名2 别名2 from 表名 别名;

十一、常用聚合函数

聚合函数
count计数
max求最大值
min求最小值
sum求和
avg求平均值
-- 查询当前表有多少学生
select count(*) from student;
select count(1) from student;
-- 查询多少学生的id不为空
select count(id) from student;
-- 查询速度
count(*) > count(1) > count(字段名)
-- 查询学生表中年龄最大的学生
select max(age) from student;
-- 查询学生表中的年龄总和
select sum(age) from student;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值