day26_Mysql基础

数据库的介绍

什么是数据库?

数据库的英文单词: DataBase 简称 : DB。顾名思义:数据库就是存储数据的仓库。本质上是一个文件系统,还是以文件的方式存在服务器的电脑上的。所有的关系型数据库都可以使用通用的 SQL 语句进行管理 DBMS DataBase Management System

常见数据库软件

  • MySQL:开源免费的数据库,小型的数据库,已经被 Oracle 收购了。MySQL6.x 版本也开始收费。后来 Sun公司收购了 MySQL,而 Sun 公司又被 Oracle 收购
  • Oracle:收费的大型数据库,Oracle 公司的产品。
  • DB2 :IBM 公司的数据库产品,收费的。常应用在银行系统中。
  • SQL Server:MicroSoft 公司收费的中型的数据库。C#、.net 等语言常使用。
  • SQLite: 嵌入式的小型数据库,应用在手机端,如:Android。

数据库的安装与卸载

根据自己的需求和电脑的32位或者64位的具体情况,去官网下载需要的版本。下面我们以mysql-5.5.40-win32.msi为例,进行安装演示

  • 1. 打开下载的 mysql 安装文件双击解压缩,运行“mysql-5.5.40-win32.msi”。
  • 2. 选择安装类型,有“Typical(默认)”、“Complete(完全)”、“Custom(用户自定义)”三个选项,选择“Custom”,按“next”键继续。
  • 3. 点选“Browse”,手动指定安装目录。
  • 4. 填上安装目录,我的是“d:\Program Files (x86)\MySQL\MySQL Server 5.0”,按“OK”继续。
  • 5. 确认一下先前的设置,如果有误,按“Back”返回重做。否则按“Install”开始安装。

 

 

  • 6. 正在安装中,请稍候,直到出现下面的界面, 则完成 MYSQL 的安装
数据库安装好了还需要对数据库进行配置才能使用 MYSQL 的配置
  • 7. 安装完成了,出现如下界面将进入 mysql 配置向导。
  • 8. 选择配置方式,“Detailed Configuration(手动精确配置)”、“Standard Configuration(标准配置)”,我们选择“Detailed Configuration”,方便熟悉配置过程。
  • 9. 选择服务器类型,“Developer Machine(开发测试类,mysql 占用很少资源)”、“Server Machine(服务器类型,mysql 占用较多资源)”、“Dedicated MySQL Server Machine(专门的数据库服务器,mysql 占用所有可用资源)”
 
  • 10. 选择mysql数据库的大致用途,“Multifunctional Database(通用多功能型,好)”、“TransactionalDatabase Only(服务器类型,专注于事务处理,一般)”、“Non-Transactional Database Only(非事务处理型,较简单,主要做一些监控、记数用,对 MyISAM 数据类型的支持仅限于 non-transactional),按“Next”继续。
  • 11. 选择网站并发连接数,同时连接的数目,“Decision Support(DSS)/OLAP(20个左右)“Online ”、 TransactionProcessing(OLTP)(500 个左右)”、“Manual Setting(手动设置,自己输一个数)”。
  • 12. 是否启用 TCP/IP 连接,设定端口,如果不启用,就只能在自己的机器上访问 mysql 数据库了,在这个页面上,您还可以选择“启用标准模式”(Enable Strict Mode),这样 MySQL 就不会允许细小的语法错误。如果是新手,建议您取消标准模式以减少麻烦。但熟悉 MySQL 以后,尽量使用标准模式,因为它可以降低有害数据进入数据库的可能性。按“Next”继续。
  • 13. 就是对 mysql 默认数据库语言编码进行设置(重要),一般选 UTF-8,按 “Next”继续。
  • 14. 选择是否将 mysql 安装为 windows 服务,还可以指定 Service Name(服务标识名称),是否将 mysql 的 bin目录加入到 Windows PATH(加入后,就可以直接使用 bin 下的文件,而不用指出目录名,比如连接,“mysql.exe -uusername -ppassword;”就可以了,不用指出 mysql.exe 的完整地址,很方便),我这里全部打上了勾,Service Name 不变。按“Next”继续。
  • 15. 询问是否要修改默认 root 用户(超级管理)的密码。“Enable root access from remote machines(是否允许 root 用户在其它的机器上登陆,如果要安全,就不要勾上,如果要方便,就勾上它)”。最后“CreateAn Anonymous Account(新建一个匿名用户,匿名用户可以连接数据库,不能操作数据,包括查询)”,一般就不用勾了,设置完毕,按“Next”继续。 
  • 16. 确认设置无误,按“Execute”使设置生效,即完成 MYSQL 的安装和配置。

 

  • 注意:设置完毕,按“Finish”后有一个比较常见的错误,就是不能“Start service”,一般出现在以前有安装 mysql的服务器上,解决的办法,先保证以前安装的 mysql 服务器彻底卸载掉了;不行的话,检查是否按上面一步所说,之前的密码是否有修改,照上面的操作;如果依然不行,将 mysql 安装目录下的 data 文件夹备份,然后删除,在安装完成后,将安装生成的 data 文件夹删除,备份的 data 文件夹移回来,再重启 mysql 服务就可以了,这种情况下,可能需要将数据库检查一下,然后修复一次,防止数据出错。 

解决方法:卸载 MySQL,重装 MySQL

数据库的卸载 

1:进入MySQL数据的安装目录,找到配置文件
2:使用记事本打开my.ini,找到其中的datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/" 语句,记录下来
3:停止 window 的 MySQL 服务。 找到“控制面板”-> “管理工具”-> “服务”,停止 MySQL 后台服务。

4:卸载 MySQL 安装程序。找到“控制面板”-> "程序和功能",卸载 MySQL 程序。

5:删除 c 盘 ProgramDate 目录中关于 MySQL 的目录。路径为我们刚才保存的datadir=C:/ProgramData/MySQL/MySQL Server 5.5/Data/(是隐藏文件,需要显示出来)
6:卸载完成

MySQL服务

我们刚才安装的是MySQL服务器软件,它会在我们的电脑的列表中注册一个MySQL服务。服务就是一些没有界面的应用程序。

MySQL 服务器启动方式有两种:

1:Windows 服务方式启动,步骤如下图所示

 

2:DOS 命令方式启动

需要启动mysql的服务就输入命令:

  • net start mysql : 

需要关闭mysql服务就输入命令:

  • net stop mysql

注意:

  • 要想登录MySQL服务中,必须先开启服务。

控制台登录和退出MySQL数据库

MySQL 是一个需要账户名密码登录的数据库,登陆后使用,它提供了一个默认的 root 账号,使用安装时设置的密码即可登录
登录格式 1:    
  • mysql -u用户名 -p密码
举例:

 或者后输入密码方式:

登录格式 2:
  • mysql -hip 地址 -u 用户名 -p 密码

注意:

  • 我们可以通过-h 后面的ip地址来访问对应电脑的MySQL服务
  • 127.0.0.1 代表本机的 IP 地址
举例:
登录格式 3:
  • mysql --host=ip 地址 --user=用户名 --password=密码

举例:

退出 MySQL:

举例:

MySQL 目录结构

MySQL安装目录

 数据目录

数据库管理系统

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

数据库管理系统、数据库和表的关系

  • 数据库管理程序(DBMS)可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。为保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体 User 的数据。数据库管理系统、数据库和表的关系如图所示:
结论:
  • MySQL服务软件所在的电脑称之为MySQL服务器
  • 一个数据库管理系统包含多个数据库(数据库对应文件夹)
  • 一个数据库包含多张表(表对应文件)
  •  一张表包含多条记录(记录对应数据)

SQL 的概念 

什么是 SQL

Structured Query Language 结构化查询语言 。其实就是定义了操作所有关系型数据库的规则。每一种数据库操作的方式存在不一样的地方,称为“方言”。

SQL 作用

  • 是一种所有关系型数据库的查询规范,不同的数据库(只要是关系型的数据库)都支持。
  • 通用的数据库操作语言,可以用在不同的数据库中。
  • 不同的数据库 SQL 语句有一些区别,称之为方言

MySQL 的语法

  • 每条语句以分号结尾,如果在 SQLyog 中不是必须加的。
  • 可使用空格和缩进来增强语句的可读性。
  • SQL 中不区分大小写,关键字中认为大写和小写是一样的。关键字建议使用大写。

3 种注释: 

SQL 语句分类

在使用SQL语句之前,我们必须先连接上MySQL服务。

DDL(Data Definition Language)数据定义语言

  • 用来定义数据库对象:数据库,表,列等。关键字:create, drop,alter 等

DML(Data Manipulation Language)数据操作语言

  • 用来对数据库中表的数据进行增删改。关键字:insert, delete, update 等

DQL(Data Query Language)数据查询语言

  • 用来查询数据库中表的记录(数据)。关键字:select, where 等

DCL(Data Control Language)数据控制语言(了解)

  • 用来定义数据库的访问权限和安全级别,及创建用户。关键字:GRANT, REVOKE 等

DDL 操作数据库

创建数据库 

  • 语法:CREATE DATABASE 数据库名; 

举例:

判断数据库是否已经存在,不存在则创建数据库 
  • 语法:CREATE DATABASE IF NOT EXISTS 数据库名; 

举例:

创建数据库并指定字符集 
  • 语法:CREATE DATABASE 数据库名 CHARACTER SET 字符集; 

创建数据库,判断是否存在,并制定字符集为gbk

  • 语法:create database if not exists 数据库名 character set gbk;

举例:

查看数据库 

查看所有数据库 
  • 语法:show databases;

举例:

查看某个数据库的定义信息 (查看数据库字符集)

语法:
  • show create database 数据库名称; 

举例:

修改数据库 

修改数据库默认的字符集

语法:
  • ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集;

举例:

删除数据库

删除数据库的语法

语法:
  • DROP DATABASE 数据库名;

举例:

判断数据库存在,在删除

语法

  • drop database if exists 数据库名;
举例

使用数据库 

查看正在使用的数据库,没有返回null 
语法:
  • SELECT DATABASE(); 

举例:

使用/切换数据库 

语法:

  • USE 数据库名; 

DDL 操作表结构

  • 前提先使用某个数据库

创建表 

语法:

create table 表名(
  列名1 数据类型1,
  列名2 数据类型2,
  ....
  列名n 数据类型n
  );
注意:最后一列,不需要加逗号(,)

数据库常用类型

  • int:整数类型 例如: age int,
  • double:小数类型  例如:score double(5,2) 表示double类型最多5位,最多保留小数点后2位
  • date:日期,只包含年月日,yyyy-MM-dd
  • datetime:日期,包含年月日时分秒 yyyy-MM-dd HH:mm:ss
  • timestamp:时间错类型 包含年月日时分秒 yyyy-MM-dd HH:mm:ss  如果将来不给这个字段赋值,或赋值为null,则默认使用当前的系统时间,来自动赋值 
  • varchar:字符串name varchar(20):姓名最大20个字符
详细的数据类型如下
需求:
  • 创建 student 表包含 id,name,score,birthday,insert_time 字段 
执行语句:

create table student(
  id int,
  name varchar(32),
  age int ,
  score double(4,1),
  birthday date,
  insert_time timestamp
 );

演示:

复制表:

语法:

  • create table 表名 like 被复制的表名;

举例:

创建 student1 表,studnet1 表结构和 student 表结构相同

查看数据库中的表

查看所有的表

语法:

  • SHOW TABLES; 

 举例:

查看具体的表结构 
语法:
  • DESC 表名; 
举例:

查看创建表的 SQL 语句 

语法:
  • SHOW CREATE TABLE 表名;

举例:

删除表

直接删除表

语法:
  • DROP TABLE 表名; 

举例:

判断表是否存在,如果存在则删除表 

语法:
  • DROP TABLE IF EXISTS 表名; 

 举例:

修改表结构

修改表名

语法:

  • alter table 表名 rename to 新的表名;

举例:

修改表的字符集

语法:

  • alter table 表名 character set 字符集名称;

举例:

添加一列

语法:

  • alter table 表名 add 列名 数据类型;

举例:

修改列名称 类型

语法

  • alter table 表名 change 列名 新列别 新数据类型; (改列名和类型)
  • alter table 表名 modify 列名 新数据类型; (只改列的类型)

举例:

删除列

语法

  • alter table 表名 drop 列名;

举例:

SQLyog 图形化工具——客户端

SQLyog 是业界著名的 Webyog 公司出品的一款简洁高效、功能强大的图形化 MySQL 数据库管理工具。使用SQLyog 可以快速直观地让您从世界的任何角落通过网络来维护远端的 MySQL 数据库

使用 SQLyog 登录数据库 

DML 操作表中的数据 

DML用于对表中的记录进行增删改操作

插入数据到表中

语法:

  • INSERT [INTO] 表名 [字段名] VALUES (字段值)

详解

  • INSERT INTO 表名:表示往哪张表中添加数据
  • (字段名 1, 字段名 2, …):要给哪些字段设置值
  • VALUES (值 1, 值 2, …):设置具体的值
插入全部字段

所有的字段名都写出来

语法:

  • INSERT INTO 表名 (字段名 1, 字段名 2, 字段名 3…) VALUES (值 1, 值 2, 值 3);

举例:

不写字段名

语法:
  • INSERT INTO 表名 VALUES (值 1, 值 2, 值 3…);

举例:

注意事项:

  • 列名和值要一一对应。
  • 如果表名后,不定义列名,则默认给所有列添加值
  • 除了数字类型,其他类型需要使用引号(单双都可以)引起来

插入部分数据

语法:
  • INSERT INTO 表名 (字段名 1, 字段名 2, ...) VALUES (值 1, 值 2, ...);

举例:

 注意事项:

  • 没有添加数据的字段会使用 NULL

删除表的数据

语法:
  • DELETE FROM 表名 [WHERE 条件表达式]

详解:

  • 如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。
  • 你可以在 WHERE 子句中指定任何条件

删除整个表中的数据

如果要删除所有记录,不推荐使用,因为这种方式删除表中的数据,有多少条数据,就要执行多少次SQL语句,影响效率

语法:

  • DELETE FROM 表名;

举例:

带条件删除数据

语法:
  • DELETE FROM 表名 WHERE 字段名=值;

举例:

使用 truncate 删除表中所有记录

如果要删除所有记录,推荐使用这种方式,因为使用这种方式,不管表中有多少数据都只要执行2条SQL语句

语法:

  • TRUNCATE TABLE 表名;

举例:

修改表中的数据

语法:

  • UPDATE 表名 SET 列名=值 [WHERE 条件表达式]

详解:

  • UPDATE: 需要更新的表名
  • SET: 修改的列值
  • WHERE: 符合条件的记录才更新
  • 你可以同时更新一个或多个字段。
  • 你可以在 WHERE 子句中指定任何条件。

不带条件修改数据,修改所有的数据

语法:
  • UPDATE 表名 SET 字段名=值;

举例:

带条件修改数据

语法:

  • UPDATE 表名 SET 字段名=值 WHERE 字段名=值;

举例:

猜你喜欢

转载自www.cnblogs.com/wurengen/p/12243566.html
今日推荐