文章目录
1.数据库的基本概念
- 数据库的英文单词: DataBase 简称 : DB
- 什么数据库?
用于存储和管理数据的仓库。 - 数据库的特点:
1. 持久化存储数据的。其实数据库就是一个文件系统
2. 方便存储和管理数据
3. 使用了统一的方式操作数据库 – SQL
2.MySQL数据库软件
1. 安装
2. 卸载
- 去mysql的安装目录找到my.ini文件
* 复制 datadir=“C:/ProgramData/MySQL/MySQL Server 5.5/Data/” - 卸载MySQL
- 删除C:/ProgramData目录下的MySQL文件夹。
卸载链接link.
3. 配置
- MySQL服务启动
- 手动。
- cmd–> services.msc 打开服务的窗口
- 使用管理员打开cmd
net start mysql : 启动mysql的服务
net stop mysql:关闭mysql服务
- MySQL登录
1. mysql -uroot -p密码
2. mysql -hip -uroot -p连接目标的密码
3. mysql --host=ip --user=root --password=连接目标的密码 - 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 作用
- 是一种所有关系型数据库的查询规范,不同的数据库都支持。
- 通用的数据库操作语言,可以用在不同的数据库中。
- 不同的数据库 SQL 语句有一些区别
3.SQL 语句分类
- Data Definition Language (DDL 数据定义语言) 如:建库,建表
- Data Manipulation Language(DML 数据操纵语言),如:对表中的记录操作增删改
- Data Query Language(DQL 数据查询语言),如:对表中的查询操作
- Data Control Language(DCL 数据控制语言),如:对用户权限的设置
4.MySQL 的语法
- 每条语句以分号结尾,如果在 SQLyog 中不是必须加的。
- SQL 中不区分大小写,关键字中认为大写和小写是一样的
- 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.修改数据库
- 修改数据库默认的字符集
ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集;
4. 删除数据库
DROP DATABASE 数据库名;
5.使用数据库
- 查看正在使用的数据库
SELECT DATABASE(); 使用的一个 mysql
- 使用/切换数据库
USE 数据库名;
5.DDL 操作表结构
1.查看表
- 查看某个数据库中的所有表
SHOW TABLES;
- 查看表结构
DESC 表名;
- 查看创建表的 SQL 语句
SHOW CREATE TABLE 表名;
- 快速创建一个表结构相同的表
CREATE TABLE 新表名 LIKE 旧表名;
2.删除表
- 直接删除表
DROP TABLE 表名;
- 判断表是否存在,如果存在则删除表
DROP TABLE IF EXISTS 表名;
3.修改表结构
- 修改表结构
ALTER TABLE 表名 ADD 列名类型;
- 修改列类型MODIFY
ALTER TABLE 表名 MODIFY 列名新的类型;
- 修改列名CHANGE
ALTER TABLE 表名 CHANGE 旧列名 新列名 类型;
- 删除列DROP
ALTER TABLE 表名 DROP 列名;
- 修改表名
RENAME TABLE 表名 TO 新表名;
- 修改字符集characterset
ALTER TABLE 表名 characterset 字符集;
6.DML操作表中的数据
用于对表中的记录进行增删改操作
1. 插入记录
- 插入全部字段
INSERT INTO 表名(字段名1,字段名2,字段名3…)VALUES(值1,值2,值3);
- 插入部分数据
INSERT INTO 表名(字段名1,字段名2,...)VALUES(值1,值2,...);
注:没有添加数据的字段会使用NULL
insert的注意事项:
- 插入的数据应与字段的数据类型相同
- 数据的大小应在列的规定范围内,例如:不能将一个长度为80的字符串加入到长度为40的列中。
- 在values中列出的数据位置必须与被加入的列的排列位置相对应。在mysql中可以使用value,但不建议使用,功能与values相同。
- 字符和日期型数据应包含在单引号中。MySQL中也可以使用双引号做为分隔符。
- 不指定列或使用null,表示插入空值。
2.更新表记录
- 不带条件修改数据
UPDATE 表名 SET 段名=值;--修改所有的行
- 带条件修改数据
UPDATE 名 SET 字段名=值 WHERE 字段名=值;
3.删除表记录
- 带条件删除数据
DELETE FROM 表名;
- 带条件删除数据
DELETE FROM 表名 WHERE 字段名=值;
- 使用 truncate 删除表中所有记录
TRUNCATE TABLE 表名;
truncate 和 delete 的区别:
truncate 相当于删除表的结构,再创建一张表。
7.DQL 查询表中的数据
1.简单查询
- 查询表所有行和列的数据
SELECT * FROM 表名;
- 查询指定列
SELECT 字段名 1, 字段名 2, 字段名 3, ... FROM 表名;
- 指定列的别名进行查询
使用别名的好处: 显示的时候使用新的名字,并不修改表的结构。
SELECT 字段名 1 AS 别名, 字段名 2 AS 别名... FROM 表名;
2.清除重复值
- 查询指定列并且结果不出现重复数据
SELECT DISTINCT 字段名 FROM 表名;
- 查询结果参与运算
- 某列数据和固定值运算
SELECT 列名 1 + 固定值 FROM 表名;
- 某列数据和其他列数据参与运算
SELECT 列名 1 + 列名 2 FROM 表名;
注意: 参与运算的必须是数值类型
3.条件查询
- 条件查询的语法
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 通配符
通配符 | 说明 |
---|---|
% | 匹配任意多个字符串 |
_ | 匹配一个字符 |