MySql基础

数据库的基本概念

什么是数据库

1.数据库(DataBase)就是存储和管理数据的仓库
2.其本质是一个文件系统,还是以文件的方式,将数据保存在电脑上

为什么使用数据库

  • 数据存储方式的比较

在这里插入图片描述通过上面的比较,我们可以看出,使用数据库存储数据,用户可以非常方便的对数据库中的数据进行增加,删除,修改以及查询操作

开发中常见的数据库

数据库名介绍
MySql数据库开源免费的数据库
因为免费开源、运作简单的特点,常作为中小型项目的数据库的首选
MySql1996年开始运作,目前已经被Oracle公司收购了,Mysql6.x开始收费
Oracle数据库收费的大型数据库,Oracle公司的核心产品
安全性高
DB2IBM公司的数据库产品,收费的超大型数据库
常在银行系统中使用
SQL ServerMicrosoft微软公司收费的中型的数据库
C#、.net等语言常使用
但该数据库只能运行在Windows机器上,扩展性、稳定性、安全性、性能都表现平平

为什么选择Mysql

1.功能强大,足以应付web应用开发
2.开源,免费

MySql的启动与关闭

  • 启动:net start mysql57(名称)
  • 关闭:net stop mysql57

命令行登录数据库

  • Mysql是一个需要账户密码登录的数据库,登录后使用,它提供了一个默认的root账号,使用安装时设置的密码即可登录
命令说明
mysql -u 用户名 -p 密码使用指定用户名和密码登录当前计算机中的mysql数据库
mysql -h 主机IP -u 用户名 -p 密码-h指定IP方式进行登录
命令演示:
mysql -uroot -p123456
mysql -h127.0.0.1 -uroot -p123456
退出命令:
exit或quit

Mysql的目录结构

1)mysql的安装目录

Mysql的默认安装目录在 C:\Program File\MySQL\MySQL Server5.7

目录目录内容
bin放置一些可执行文件
docs文档
include包含(头)文件
lib依赖库
share用于存放字符集、语言等信息

2)MySql配置文件 与数据库 及 数据表所在的目录

  • my.ini文件是mysql的配置文件,一般不建议去修改

数据库管理系统

1)什么是数据库管理系统?
数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据库的大型软件。MySQL就是一个数据库管理系统软件,安装了MySQL的电脑,我们称为数据库服务器

2)数据库管理系统的作用
用于建立、使用和维护数据库,对数据库进行统一的管理

3)数据库管理系统、数据库和表之间的关系
MySQL中管理着很多的数据库,在实际的开发环境中 一个数据库一般对应了一个的 应用,数据库当中保存着多张表,每一张表对应着不同的业务,表中保存着对应业务的数据
在这里插入图片描述

数据库表

  • 数据库中以表为组织单位存储数据
  • 表类似于我们Java中的类,每个字段都有对应的数据类型
类   ----->  表
类中属性  ----->  表中字段
对象   ------>    数据记录

SQL重点

SQL的概念

1)什么是SQL?
结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统

2)SQL的作用

  • 是所有关系型数据库的统一查询规范,不同的关系型数据库都支持SQL
  • 所有的关系型数据库都可以使用SQL
  • 不同数据库之间的SQL有一些区别

SQL通用语法

  1. SQL语句可以单行 或 多行 书写,以分号结尾;(sqlyog中可以不写分号)
  2. 可以使用空格和缩进来增加语句的可读性
  3. Mysql中使用SQL不区分大小写,一般关键字大写,数据库名 表名 以及 列名 小写
  4. 注释方式
注释语法说明
–空格单行注释
/ **/多行注释
#Mysql特有的单行注释
# show database;   单行注释
-- show database;  单行注释
/*
   多行注释
   show database;
*/ 

SQL的分类

分类说明
数据定义语言简称DDL(Data Definition Language),用来定义数据库对象:数据库、表、列等
数据操作语言简称DML(Data Mainpulation Language),用来对数据库中表的记录进行更新
数据查询语言简称DQL(Data Query Language),用来查询数据库中表的记录
数据控制语言简称DCL(Date Control Language),用来定义数据库的访问权限和安全级别,以及床架用户

在这里插入图片描述

创建数据库

  1. 创建数据库 方式1:指定名称的数据库 Latin1 编码
    CREATE DATABASE db1;
  2. 指定字符集的方式创建数据库 utf-8
    CREATE DATABASE db1 CHARACTER SET uft-8;

查看数据库

(切换数据库)
USE db1;

查询当前正在使用的数据库

SELECT DATABASE();

查询MySQL中有哪些数据库

SHOW DATABASES;

默认数据库的作用

  • information_shema 信息数据库 保存的是其他数据库的信息
  • mysql mysql核心数据库,保存的是用户和权限
  • performance_shema 保存性能相关数据 监控MySQL的性能
  • sys 记录了DBA所需要的一些信息,更方便的让DBA快速了解数据库的运行情况,DBA数据库管理员

数据库的修改

  • 修改数据库的字符集
    语法格式: alter database 数据库名 character set utf-8
  • 查询当前数据库的基本信息: SHOW CREATE DATABASE db1;
  • 删除数据库: 语法格式: drop database 数据库名称 将数据库从MySQL中永久删除

数据表操作

  • 创建表的语法格式:create table 表名{
    字段名称1 字段类型(长度),
    字段名称2 字段类型,
    字段名称3 字段类型 最后一个字段不加逗号
    }
    Mysql中常见的数据类型
              int 整型
              double 浮点型
              varchar 字符串型
              data  日期类型  只显示年月日  没有时分秒  yyyy-mm-dd
              datatime 年月日时分秒   yyyy-mm-dd HH:mm:ss
              char 字符串类型

Mysql中varchar 和 char 都代表字符串类型,它们的区别:
varchar类型的特点:是可变长度的,存储字符串时 只是用所需的空间(保存长度在一定范围内有变化的数据就是用varchar)
char类型的特点:是固定长度的,制定了多少的长度,创建时就是用多少(保存指定长度的数据的时候可以使用char 比如密码)

  • 快速创建一个表结构相同的表
    语法结构 create table 新标名称 like 旧表名称
  • 查看表结构
    desc 表名;

查看表

  • 查看当前数据库中所有的数据表名
    show tables;
  • 查看创建表的sql
    show create table 表名;

删除表

  • 表的删除
    语法格式:drop table 表名; 从数据库中永久的删除一张表
    drop table if exists 表名; 判断表是否存在,如果存在就删除 不存在就不执行删除

修改表

  • 修改表名称 语法格式:rename table 旧表名 to 新表名
  • 修改表的字符集为 gbk 语法格式:alter table 表名 character set 字符集
  • 添加字段 语法格式:alter table 表名 add 字段名称 字段类型(长度);
  • 修改表中列的类型或长度 语法格式:alter table 表名 modify 字段名称 字段类型
  • 修改列的名称 语法格式: alter table 表名 change 旧列名 新列名 类型(长度)
  • 删除列 语法格式:alter table 表名 drop 列名

DML对表中的数据进行增删改操作

  • 增加 语法格式:insert into 表名 (字段名1,字段名2…) values( (字段值1,字段值2…)

注意事项:
1.值与字段必须对应 个数&数据类型&长度 都必须一致
2.在插入 varchar char date 类型的时候,必须要使用 单引号 或 双引号进行包裹
3.如果插入空值,可以忽略不写或写null

  • 修改表数据 语法格式1: update 表名 set 列名=值
    语法格式2:update 表名 set 列名=值 [where 条件表达式: 字段名 = 值]

  • 删除表数据:语法格式1: delete from 表名;

  •         语法格式2: delete from 表名   [where 条件] ;
    
  • 删除所有数据的 方式1:delete from 表名;(不推荐,对表中的数据逐条删除,效率低)

  •               方式2:truncate table 表名;(推荐,删除整张表,然后再创建一个一模一样的新表)
    

简单查询

  • 语法格式:select 列名 from 表名;
  • 查询表中所有数据:select * from 表名;
  • 查询所有数据 只显示两列数据:select 列名1,列名2 from 表名
  • 查询所有的数据然后列名改为中文
select 
     eid as '编号',
     ename as '姓名',
     sex  as '性别',
     hire_date as '入职时间'
from emp;
  • 去重操作:select distinct 列名 from 表名;
  • 注意:查询操作不会对数据表中的数据进行修改,只是一种显示方式。

条件查询

  • 语法格式:select 列名 from 表名 where 条件表达式;
  • 比较运算符
运算符说明
> < <= >= = <> !=大于、小于、小于等于、大于等于,等于,不等于
between… and…显示在某一区间的值
IN(集合)集合表示多个值,使用逗号分隔
in中每个数据都会作为一次条件,只要满足条件就会显示
like模糊查询
is null查询某一列为NULL的值,注意不能写 = null
  • 逻辑运算符
运算符说明
and &&多个条件同时成立
or多个条件任一成立
not不成立,取反

like % 通配符,表示匹配任意多个字符串
_通配符,表示匹配一个字符

  • 条件查询 先取出表中的每条数据,满足条件就返回,不满足就过滤。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值