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);

 

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

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

相关文章

UE4 Sequence学习

1.常用轨道 1.1 Camera轨道 Camera轨道可以理解为Camera Cuts轨道和Camera Actor轨道,一般点击Sequencer上的摄像机图标可以自动创建: Camera Cuts轨道,可以进行不同相机机位的切换,一般会随着Camera Actor轨道自动创建&#x…

微软新Bing AI,带chat聊天写作等功能的搜索引擎简介

文章目录可选前置操作将系统对软件的位置获取禁止更改默认区域尝试更改现有MS账户注册地(亲测不行)在GPT和bing AI中搜索按步骤更改MS账户注册地址设置 / 账户管理右上角头像 / 我的个人资料国家或地区 / 编辑结果重新注册MS账户,设置注册地为…

Nodejs+vue+elementui网上租车网站 vscode汽车租赁系统

一开始,本文就对系统内谈到的基本知识,从整体上进行了描述,并在此基础上进行了系统分析。为了能够使本系统较好、较为完善的被设计实现出来,就必须先进行分析调查。基于之前相关的基础,在功能上,对新系统进…

Zookeeper

一、Zookeeper 概述 1、Zookeeper 定义 Zookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目。 2、Zookeeper 工作机制 Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家…

Java多线程基础汇总(上)

目录 一. 概念 二.线程的创建 三. Thread类的常见方法 1.启动一个线程 2.终止一个线程 3.等待一个线程 四. 线程安全问题 1.导致线程安全的原因: 2.如何解决线程安全问题 2.1 synchronized关键字 2.2 volatile关键字 3. wait 和 notify 4.wait 和 slee…

你写的C语言代码被翻译成可执行程序,需要这几步

本篇博客会讲解C语言的灵魂知识点:你写出来的C语言代码究竟是如何让计算机识别并且执行的。C语言是一门计算机语言,可以方便程序员和计算机沟通,但是,计算机只认得二进制,怎么会认得你写的C语言代码是什么意思呢&#…

【ArcGIS Pro二次开发】(12):txt文件和Excel文件的读写

在Arcgis Pro的工作流中,数据的输入是很常见的。这里以TXT和Excel两种文件为例,在SDK中实现数据的读取和写入。 一、txt文件的读写 txt文件的读写相对简单,可以用Arcgis Pro自带的OpenItemDialog打开txt文件,并直接读取&#xff…

Java稀疏数组的应用

文章目录需求存储结构分析问题稀疏数组稀疏数组存储结构整体思路代码示例需求 编写一个五子棋程序,可以完成存盘退出和继续上局的功能。这时就会涉及到棋盘当前棋子状态数据的保存和读取 黑色棋子为:1,白色棋子为:2,0…

BERT: Pre-training of Deep Bidirectional Transformers forLanguage Understanding

参考BERT原文[1810.04805] BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding (arxiv.org)【(强推)李宏毅2021/2022春机器学习课程】 https://www.bilibili.com/video/BV1Wv411h7kN/?p73&share_sourcecopy_web&vd_source30e93e9c70e…

Less 运行环境

文章目录Less 运行环境概述运行Less方式一:浏览器环境方式二:koala编译器方式四:Node环境下编译Less 运行环境 概述 Less (Leaner Style Sheets 的缩写) 是一门向后兼容的 CSS 扩展语言。这里呈现的是 Less 的官方文…

ChatGPT能够干翻谷歌吗?

目前大多数人对于ChatGPT的喜爱,主要源自于其强大的沟通能力,当我们向ChatGPT提出问题时,它不仅能够为我们提供结论,而且还能够与我们建立沟通,向ChatGPT提出任何问题,感觉都像是在与一个真实的人类进行交谈…

蓝桥杯备考

数论&#xff1a;判断素数&#xff0c;鸽笼定理&#xff0c;抽屉理论 注意事项&#xff1a; 组合剪枝&#xff1a;i < n - (k - path.size()) 1 long类型的数后面要加L long s 2658417853L; 保留几位小数&#xff1a; System.out.printf(“%.2f”, arg); 四舍五入问题…

【Python】如何实现Redis构造简易客户端(教程在这)

文章目录前言一、准备二、原理剖析三、编写简易Redis客户端总结前言 Redis 是我们在开发过程中经常会用到的内存数据库&#xff0c;尤其是在Python的第三方模块Redis-py的支持下&#xff0c;在Python中使用Redis及其方便。 但是在有些情况下&#xff0c;我们无法使用像Redis-…

学习 Python 之 Pygame 开发魂斗罗(十四)

学习 Python 之 Pygame 开发魂斗罗&#xff08;十四&#xff09;继续编写魂斗罗1. 创建桥类2. 在主类中加入一些类变量3. 显示桥4. 解决玩家与桥的碰撞体问题5. 解决敌人与桥的碰撞体问题继续编写魂斗罗 在上次的博客学习 Python 之 Pygame 开发魂斗罗&#xff08;十三&#x…

Visual Studio Code 1.77 发布,扩展的 GitHub Copilot 集成

VS Code 1.77 已发布&#xff0c;此版本一些主要亮点包括&#xff1a; Accessibility 改进 - 用于悬停、通知和 Sticky Scroll 的新键盘快捷键。 、down、home、end、page up和page down 键来聚焦悬停控件并进行水平和垂直滚动。聚焦悬停控件的键盘快捷键(CtrlK CtrlI)与用于在…

ArduPilot飞控之DIY-F450计划

ArduPilot飞控之DIY-F450计划1. 历史2. 源由3. 计划3.1 硬件3.2 软件4. 动手4.1 接线4.1.1 ELRS nano接收机4.1.2 BN880 GPS模块4.1.3 Radio Telemetry4.2 配置4.2.1 选择四轴机型4.2.2 电源参数调整4.2.3 校准加速度计4.2.4 校准磁力计4.2.5 遥控器校准4.2.6 电机设置4.2.7 电…

Linux- 系统随你玩之--玩出花活的命令浏览器上

文章目录1、背景2、命令浏览器2.1、命令浏览器介绍2.2、特点2.3 常用功能选项3、实操3.1、使用 wget 下载文件3.2、 断点续传3.3、镜像整个站点4、 总结1、背景 一位友人说他有台服务器&#xff0c;需要下载一个文件&#xff0c;但是没有视窗界面与下载工具&#xff0c;怎么办…

360周鸿祎离婚老婆能分得90亿,如果奶茶妹妹离婚会不会分走更多?

‍数据智能产业创新服务媒体——聚焦数智 改变商业最近&#xff0c;中国互联网界又有一个新鲜的大瓜——360周鸿祎与其老婆离婚&#xff0c;对方分走了近90亿。根据360发布的公告&#xff0c;董事长周鸿祎与胡欢经友好协商&#xff0c;已办理解除婚姻关系手续&#xff0c;并就…

不敲代码用ChatGPT开发一个App

先说下背景&#xff0c;有一天我在想 ChatGPT 对于成熟的开发者来说已经是一个非常靠谱的助手了&#xff0c;身边也确实有很多同事把它作为一个离不开的助理担当。 但是如果我只是略微懂一点前端知识的新人&#xff0c;了解 HTML、CSS、JS 相关的知识&#xff0c;想开发一个安…

智慧水务信息化平台建设,实现供水一体化管控

平台概述 柳林智慧水务系统平台是以物联感知技术、大数据、智能控制、云计算、人工智能、数字孪生、AI算法、虚拟现实技术为核心&#xff0c;以监测仪表、通讯网络、数据库系统、数据中台、模型软件、前台展示、智慧运维等产品体系为支撑&#xff0c;以城市水资源、水生态、水…
最新文章