MySQL数据库基础

1.数据库的基本概念

  • 数据库的英文单词: DataBase 简称 : DB
  • 什么数据库?
    用于存储和管理数据的仓库。
  • 数据库的特点:
    1. 持久化存储数据的。其实数据库就是一个文件系统
    2. 方便存储和管理数据
    3. 使用了统一的方式操作数据库 – SQL

2.MySQL数据库软件

1. 安装

安装教程链接

2. 卸载

  1. 去mysql的安装目录找到my.ini文件
    * 复制 datadir=“C:/ProgramData/MySQL/MySQL Server 5.5/Data/”
  2. 卸载MySQL
  3. 删除C:/ProgramData目录下的MySQL文件夹。
    卸载链接link.

3. 配置

  1. MySQL服务启动
    • 手动。
    • cmd–> services.msc 打开服务的窗口
    • 使用管理员打开cmd
      net start mysql : 启动mysql的服务
      net stop mysql:关闭mysql服务
  2. MySQL登录
    1. mysql -uroot -p密码
    2. mysql -hip -uroot -p连接目标的密码
    3. mysql --host=ip --user=root --password=连接目标的密码
  3. MySQL退出
    1. exit
    2. quit

4. MySQL目录结构

MySQL 的目录结构描述
bin<目录>所有 mysql 的可执行文件,如:mysql.exe
MySQLInstanceConfig.exe数据库的配置向导,在安装时出现的内容
data<目录>data<目录> 系统必须的数据库所在的目录
my.ini 文件mysql 的配置文件,一般不建议去修改。
c:\ProgramData\MySQL\MySQL Server 5.5\data\我们自己创建的数据库所在的文件夹

5.数据库管理系统

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

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

数据库管理程序(DBMS)可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。为保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体 User 的数据。
在这里插入图片描述

3.SQL

1.什么是SQL?

 Structured Query Language:结构化查询语言

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

2.SQL 作用

  1. 是一种所有关系型数据库的查询规范,不同的数据库都支持。
  2. 通用的数据库操作语言,可以用在不同的数据库中。
  3. 不同的数据库 SQL 语句有一些区别
    在这里插入图片描述

3.SQL 语句分类

  1. Data Definition Language (DDL 数据定义语言) 如:建库,建表
  2. Data Manipulation Language(DML 数据操纵语言),如:对表中的记录操作增删改
  3. Data Query Language(DQL 数据查询语言),如:对表中的查询操作
  4. Data Control Language(DCL 数据控制语言),如:对用户权限的设置

4.MySQL 的语法

  1. 每条语句以分号结尾,如果在 SQLyog 中不是必须加的。
  2. SQL 中不区分大小写,关键字中认为大写和小写是一样的
  3. 3 种注释:
注释的语法说明
–空格单行注释
/* */ 多行注释多行注释
#这是 mysql 特有的注释方式

4.DDL 操作数据库

1.创建数据库

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

-创建数据库并指定字符集

CREATE DATABASE 数据库名 CHARACTER SET 字符集;

2.查看数据库

  • 查看所有的数据库
show databases;
  • 查看某个数据库的定义信息
show create database db3;
show create database db1;

3.修改数据库

  1. 修改数据库默认的字符集
ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集;

4. 删除数据库

DROP DATABASE 数据库名;

5.使用数据库

  • 查看正在使用的数据库
SELECT DATABASE(); 使用的一个 mysql
  • 使用/切换数据库
USE 数据库名;

5.DDL 操作表结构

1.查看表

  1. 查看某个数据库中的所有表
SHOW TABLES;
  1. 查看表结构
DESC 表名;
  1. 查看创建表的 SQL 语句
SHOW CREATE TABLE 表名;
  1. 快速创建一个表结构相同的表
CREATE TABLE 新表名 LIKE 旧表名;

2.删除表

  1. 直接删除表
DROP TABLE 表名;
  1. 判断表是否存在,如果存在则删除表
DROP TABLE IF EXISTS 表名;

3.修改表结构

  1. 修改表结构
ALTER TABLE 表名 ADD 列名类型;
  1. 修改列类型MODIFY
ALTER TABLE 表名 MODIFY 列名新的类型;
  1. 修改列名CHANGE
ALTER TABLE 表名 CHANGE 旧列名 新列名 类型;
  1. 删除列DROP
ALTER TABLE 表名 DROP 列名;
  1. 修改表名
RENAME TABLE 表名 TO 新表名;
  1. 修改字符集characterset
ALTER TABLE 表名 characterset 字符集;

6.DML操作表中的数据

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

1. 插入记录

  1. 插入全部字段
INSERT INTO 表名(字段名1,字段名2,字段名3)VALUES(1,2,3);
  1. 插入部分数据
INSERT INTO 表名(字段名1,字段名2,...)VALUES(1,2,...);
  注:没有添加数据的字段会使用NULL

insert的注意事项:

  1. 插入的数据应与字段的数据类型相同
  2. 数据的大小应在列的规定范围内,例如:不能将一个长度为80的字符串加入到长度为40的列中。
  3. 在values中列出的数据位置必须与被加入的列的排列位置相对应。在mysql中可以使用value,但不建议使用,功能与values相同。
  4. 字符和日期型数据应包含在单引号中。MySQL中也可以使用双引号做为分隔符。
  5. 不指定列或使用null,表示插入空值。

2.更新表记录

  1. 不带条件修改数据
UPDATE 表名 SET 段名=;--修改所有的行
  1. 带条件修改数据
UPDATESET 字段名=WHERE 字段名=;

3.删除表记录

  1. 带条件删除数据
DELETE FROM 表名;
  1. 带条件删除数据
DELETE FROM 表名 WHERE 字段名=;
  1. 使用 truncate 删除表中所有记录
TRUNCATE TABLE 表名;

truncate 和 delete 的区别:
truncate 相当于删除表的结构,再创建一张表。

7.DQL 查询表中的数据

1.简单查询

  1. 查询表所有行和列的数据
SELECT * FROM 表名;
  1. 查询指定列
SELECT 字段名 1, 字段名 2, 字段名 3, ... FROM 表名;
  1. 指定列的别名进行查询
    使用别名的好处: 显示的时候使用新的名字,并不修改表的结构。
SELECT 字段名 1 AS 别名, 字段名 2 AS 别名... FROM 表名;

2.清除重复值

  1. 查询指定列并且结果不出现重复数据
SELECT DISTINCT 字段名 FROM 表名;
  1. 查询结果参与运算
  • 某列数据和固定值运算
SELECT 列名 1 + 固定值 FROM 表名;
  • 某列数据和其他列数据参与运算
SELECT 列名 1 + 列名 2 FROM 表名;
注意: 参与运算的必须是数值类型

3.条件查询

  1. 条件查询的语法
SELECT 字段名 FROM 表名 WHERE 条件;
流程:取出表中的每条数据,满足条件的记录就返回,不满足条件的记录不返回
  • 运算符
比较运算符说明
>、<、<=、>=、=、<><>在 SQL 中表示不等于,在 mysql 中也可以使用!=没有==
BETWEEN…AND在一个范围之内,如:between 100 and 200相当于条件在 100 到 200 之间,包头又包尾
IN(集合)集合表示多个值,使用逗号分隔
LIKE ‘张%’模糊查询
IS NULL询某一列为 NULL 的值,注:不能写=NULL
  • 逻辑运算符
逻辑运算符说明
and 或 &&与,SQL 中建议使用前者,后者并不通用。
or 或
not 或 !
  • in 关键字
SELECT 字段名 FROM 表名 WHERE 字段 in (数据 1, 数据 2...);
in 里面的每个数据都会作为一次条件,只要满足条件的就会显示
  • like 关键字
LIKE 表示模糊查询
SELECT * FROM 表名 WHERE 字段名 LIKE '通配符字符串';
  • MySQL 通配符
通配符说明
%匹配任意多个字符串
_匹配一个字符
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值