mysql数据库简介

1.什么是数据库:数据仓库。访问必须只能用SQL语句来访问。数据库也是一个文件的系统。
2.数据库的作用:存储数据的作用。开发任何的应用,都有数据库。
3.关系型的数据库:数据库中保存的都是实体与实体之间的关系。
4.常见的数据库
    * Java开发,必用的两个数据库Oracle和MySQL
        * Oracle数据库(甲骨文)    大型的数据库,收费的。
        * MySQL数据库  小型的数据库,免费开源的。被Oracle收购了(在6.x版本下开始收费了)
        * SQLServer     微软的数据库
        * DB2           IBM公司产品,大型的数据库,收费的。
        * SyBASE        退出了历史的舞台。PowerDigener(数据库的设计的工具)

 

copycode.gif

MySQL数据库的安装和卸载

copycode.gif

1.MySQL数据库的卸载
    * 先找到MySQL的安装路径,找到my.ini配置文件。
    * basedir="C:/Program Files (x86)/MySQL/MySQL Server 5.5/"      -- MySQL安装路径(my.ini没有删除)
    * datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"         -- MySQL数据存放位置(手动删除)
    * 直接通过控制面板卸载程序。

2.安装MySQL
    * 安装的路径中不能有中文和空格。

3.进行测试
    * cmd   -- 输入mysql -u root -p -- 回车 -- 输入密码 -- 进入MySQL的服务器。

copycode.gif

MySQL数据库概念

1.总结:一个数据库的服务器中包含多个数据库,一个数据库中有多张表,一个表中包含多个字段(字段和JavaBean的属性是对应),表中存放是数据,一行数据和一个JavaBean实体对象是对应的。

SQL语言(操作数据库)

copycode.gif

1.Structured Query Language, 结构化查询语言
2.SQL非过程性的语言
    * 过程性的语言:依赖上一条或者上几条语句执行。
    * 非过程性的语言:一条语言,就对应一个返回的结果。
3.SQL语言是基础
    * 在Oracle使用自己的语言,PL/SQL只能在Oracle来说使用。

copycode.gif

SQL的分类

copycode.gif

SQL的分类

1.DDL   数据定义语言
    * 创建数据库 创建表 创建视图 创建索引 修改数据库 删除数据库 修改表 删除表
    * create -- 创建  alter -- 修改 drop -- 删除
2.DML   数据操作语言
    * 操作数据  插入数据(insert)    修改数据(update)    删除数据(delete)
3.DCL   数据控制语言
    * if else while 
4.DQL   数据查询语言
    * 从表中查询数据(select)

copycode.gif

数据库的操作(CURD)

创建数据库(重点)

copycode.gif

1.创建数据库的语法
    * 基本的语法:create database 数据库名称;
    * 正宗的语法:create database 数据库名称 character set 编码 collate 校对规则;

2.校对规则(了解):决定当前数据库的属性。

创建一个名称为mydb1的数据库。
    * create database mydb1;
创建一个使用utf8字符集的mydb2数据库。
    * create database mydb2 character set 'utf8';
创建一个使用utf8字符集,并带校对规则的mydb3数据库。
    * create database mydb3 character set 'utf8' collate 'utf8_bin';

copycode.gif

查看数据库(重点)

1.show databases;                   -- 查看所有的数据库
2.use 数据库名称;(*****)             -- 使用数据库
3.show create database 数据库名称;   -- 查询数据库的创建的信息
4.select database();                -- 查询当前正在使用的数据库

删除数据库(重点)

copycode.gif

1.drop database 数据库名称;          -- 删除数据库

查看当前数据库服务器中的所有数据库
    * show databases;
查看前面创建的mydb2数据库的定义信息
    * show create database mydb2;
删除前面创建的mydb1数据库
    * drop database mydb1;

copycode.gif

修改数据库

1.语法:alter database 数据库名称 character set 'gbk' collate '校对规则';
1.语法:alter database 数据库名称 character set 'gbk' collate '校对规则';

表结构操作(CURD)

创建表

copycode.gif

1.语法:
    create table 表名称(
        字段1 类型(长度) 约束,
        字段2 类型(长度) 约束,
        字段3 类型(长度) 约束
    );
2.注意:
    * 创建表的时候,后面用小括号,后面分号。
    * 编写字段,字段与字段之间使用逗号,最后一个子段不能使用逗号。
    * 如果声明字符串数据的类型,长度是必须指定的。
    * 如果不指定数据的长度,有默认值的。int类型的默认长度是11

3.创建一张表结构(员工表练习)
    create table employee(
        id int,
        name varchar(30),
        gender char(5),
        birthday date,
        entry_date date,
        job varchar(50),
        salary double,
        resume text
    );

4.执行SQL语句
    * 查询当前正在使用的数据库  select database();
    * 选择你要使用的数据库    use mydb2;
    * 执行创建表的SQL语句。

5.使用desc employee;查询表的信息
+------------+-------------+------+-----+---------+-------+
| Field      | Type        | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| id         | int(11)     | YES  |     | NULL    |       |
| name       | varchar(30) | YES  |     | NULL    |       |
| gender     | char(5)     | YES  |     | NULL    |       |
| birthday   | date        | YES  |     | NULL    |       |
| entry_date | date        | YES  |     | NULL    |       |
| job        | varchar(50) | YES  |     | NULL    |       |
| salary     | double      | YES  |     | NULL    |       |
| resume     | text        | YES  |     | NULL    |       |
+------------+-------------+------+-----+---------+-------+

copycode.gif

数据库的数据类型(重点)

copycode.gif

字符串型(重点)
    VARCHAR(用的比较多)   :长度是可变的。       例子:name varchar(8) ,存入数据hello,存入进去之后,name字段长度自动变成了5。
    CHAR     :长度是不可变的。  例子:name char(8) 存入数据hello,用空格来补全剩余的位置。

大数据类型(不常用)
    BLOB    :字节(电影 mp3)
    TEXT    :字符(文本的内容)

数值型(重点)
    TINYINT 、SMALLINT、INT、BIGINT、FLOAT、DOUBLE

逻辑性 
    BIT
    在Java中是true或者false
    在数据库bit类型(1或者0)

日期型(重点)
    DATE            :只包含日期(年月日)
    TIME            :只包含时间(时分秒)
    DATETIME        :包含日期和时间。如果插入数据的时候,字符值为空,字段的值就是空了。
    TIMESTAMP       :包含日期和时间。如果插入数据的时候,设置字段的值为空,默认获取当前的系统的时候,把时间保存到字段中。

copycode.gif

单表的约束(了解)

copycode.gif

1.约束的好处:保证数据的完整性。
2.主键约束(重要)代表记录的唯一标识。
    * 关键字:primary key 通过该关键字声明某一列为主键。
    * 唯一        值就不能相同
    * 非空        值也不能为空
    * 被引用       (和外键一起来使用)
3.唯一约束
    * 声明字段值是唯一的。使用关键字 unique
4.非空约束
    * 声明字段的值是不能空的。not null

copycode.gif

删除和查看表

1.删除表语法:drop table 表名;
2.查看标签
    * desc 表名;                      -- 查询表的信息
    * show tables;                  -- 查看当前数据库中所有的标签
    * show create table 表名;     -- 查看表的创建的信息

修改表

copycode.gif

1.语法
    * alter table 表名 add 新列名 类型(长度) 约束;             -- 添加列
    * alter table 表名 drop 列名;                           -- 删除列
    * alter table 表名 modify 列名 类型(长度) 约束;           -- 修改列的类型或者约束
    * alter table 表名 change 旧列名 新列名 类型(长度) 约束;  -- 修改列名
    * rename table 表名 to 新表名;                           -- 修改表的名称
    * alter table 表名 character set utf8;                    -- 修改表的字符集


在上面员工表的基本上增加一个image列。
    alter table employee add image varchar(50);
修改job列,使其长度为60。
    alter table employee modify job varchar(60);
删除gender列。
    alter table employee drop gender;
表名改为user。
    rename table employee to user;
修改表的字符集为utf8
    alter table user character set utf8;
列名name修改为username
    alter table user change name username varchar(30);

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/12250.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2023接口自动化测试,完整入门篇

1. 什么是接口测试 顾名思义,接口测试是对系统或组件之间的接口进行测试,主要是校验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系。其中接口协议分为HTTP,WebService,Dubbo,Thrift,Socket等类型,测试类型又主…

stata绘图指令

stata绘图指令 – 潘登同学的stata笔记 文章目录 stata绘图指令 -- 潘登同学的stata笔记 绘图概览韦恩图折线图连线图线性拟合图直方图 函数图添加特殊字符和文字 绘图概览 Stata 提供的图形种类: twoway 二维图scatter 散点图line 折线图area 区域图lfit 线性拟合…

基于单片机的温室大棚环境监测系统设计

温室大棚对北方反季节蔬菜的种植具有重要意义。据了解全国各地温室大棚使用集中,但是大棚环境调控方式落后、管理落后、生产效率比较低。针对此问题本文提出了一种基于STM32单片机智能温室大棚控制系统方案,实现环境参数的自动检测,以达到智能…

2023年股票代持行业研究报告

第一章 股票代持概述 1.1 基本概念 股票代持,或称委托持股,是指实际出资人与名义出资人达成以下约定:名义出资人作为名义股东,在股东名册等公司工商登记信息上出现,而实际上由实际出资人出资并享有投资权益。 股票代…

Segment Anything论文详解(SAM)

论文名称:Segment Anything 论文地址:https://arxiv.org/abs/2304.02643 开源地址:https://github.com/facebookresearch/segment-anything demo地址:Segment Anything | Meta AI 主要贡献:开发一个可提示的图像分…

图片存储方案-七牛云存储

1.引语 在实际开发中,我们会有很多处理不同功能的服务器。例如: 应用服务器:负责部署我们的应用 数据库服务器:运行我们的数据库 文件服务器:负责存储用户上传文件的服务器 分服务器处理的目的是让服务器各司其职…

设计模式简述

设计模式(简述) 设计模式的分类 ​ 根据目的可以分为创建型、结构性和行为型三类: 创建型模型:创建对象结构性模型:处理类或对象的组合行为型模式:用于描述对类或对象怎样交互和怎么分派职责 ​ 根据范围可以分为类模式和对象…

nvm-windows的安装使用及踩坑指南

nvm是node的一款版本管理工具,可以简单操作node版本的切换、安装、查看。常规来说,开发中安装一个node版本就够了,但是最近在开发中有的老项目或者一些特定的项目需要来回切换node的版本,不可能手动去卸载掉之前的node版本&#x…

013:Mapbox GL添加marker

第013个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+mapbox中添加marker。 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共70行)相关API参考:专栏目标示例效果 配置方式 1)查看基础设置:https://xiaozhu…

算法时间复杂度计算

目录 1.时间复杂度计算 1.1 时间复杂度例题 1.1.1例题 1.1.2例题 1.1.3例题 1.1.4例题 1.2时间复杂度leetcode例题 1.时间复杂度计算 首先,我们需要了解时间复杂度是什么:算法的时间复杂度是指算法在编写成可执行程序后,运行时需要耗费…

使用 Floyd Warshall 检测负循环

我们得到了一个有向图。我们需要计算图形是否有负循环。负循环是循环的总和为负的循环。 在图形的各种应用中都可以找到负权重。例如,如果我们沿着这条路走,我们可能会得到一些好处,而不是为一条路付出代价。 例子:

Linux中的read/write和recv/send的区别,并使用recv/send实现简单的聊天功能

Linux中的read/write和recv/send的区别 r e a d / w r i t e read/write read/write的用法 r e c v / s e n d recv/send recv/send的用法 L i n u x Linux Linux中的 r e a d / w r i t e read/write read/write和 r e c v / s e n d recv/send recv/send的区别下面是一个使用…

Three.js教程:第一个3D场景

推荐:将 NSDT场景编辑器加入你3D工具链 其他工具系列: NSDT简石数字孪生 下面的代码完整展示了通过three.js引擎创建的一个三维场景,在场景中绘制并渲染了一个立方体的效果,为了大家更好的宏观了解three.js引擎, 尽量使…

基于SpringBoot的私人健身和教练的预约管理系统源码数据库论文

目 录 第一章 概述 1.1研究背景 1.2开发意义 1.3研究现状 1.4研究内容 1.5论文结构 第二章 开发技术介绍 2.1系统开发平台 2.2平台开发相关技术 2.2.1 Javar技术 2.2.2 Mysql数据库介绍 2.2.3 Mysql环境配置 2.2.4 B/S架构 2.2.5 Springboot框架 …

设计模式-结构型模式之外观模式

4. 外观模式 4.1. 模式定义 外观模式(Facade Pattern):外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个 高层接口,这个接口使得这一子系统更加容易使用。外观模…

socket 到底是个啥

哈喽大家好,我是咸鱼 我相信大家在面试过程中或多或少都会被问到这样一个问题:你能解释一下什么是 socket 吗 我记得我当初的回答很是浅显:socket 也叫套接字,用来负责不同主机程序之间的网络通信连接,socket 的表现…

使用树状图可视化聚类

一般情况下,我们都是使用散点图进行聚类可视化,但是某些的聚类算法可视化时散点图并不理想,所以在这篇文章中,我们介绍如何使用树状图(Dendrograms)对我们的聚类结果进行可视化。 树状图 树状图是显示对象…

大模型混战,阿里百度华为谁将成就AI时代的“新地基”?

从算力基础到用户生态,群雄逐鹿大模型 自2022年stable diffusion模型的进步推动AIGC的快速发展后,年底,ChatGPT以“破圈者”的姿态,快速“吸粉”亿万,在全球范围内掀起了一股AI浪潮,也促使了众多海外巨头竞…

微信为什么使用 SQLite 保存聊天记录

SQLite “只是”一个库,它不是传统意义上的服务器。因此,在某些场合下,它确实不合适。但是,在相当多的其他场合,它却是最合适的选择。SQLite 号称是部署和使用最广泛的数据库引擎。我认为这很有可能,因为 S…

10个镜像网站工具箱供你使用,不注册ChatGPT也能免费使用ChatGPT

ChatGPT已经成为了人工智能技术中备受瞩目的一员,它可以为我们带来更加智能化、个性化的交互体验。对于没有ChatGPT账号或者不想注册账号的人来说,他们可能会错过这种神奇的体验。 而本篇文章就帮大家解决这个问题,不用登录ChatGPT账号&…