MySQL数据库基础

1、MySQL数据库

1.1数据库的概念

​ 用来存储数据的仓库,本质上是一个文件系统

1.2特点

​ 持久化存储数据
​ 存储和管理数据
​ 使用统一的方式进行操作(sql)

1.3常见的数据库软件

​ MySQL
​ 免费的,开放源代码
​ Oracle
​ 收费的,不开放源代码

1.4mysql的安装

​ 允许root用户远程访问的√建议勾上

1.5mysql的卸载

​ 1.复制安装目录下my.ini中datadir指向的路径
​ 2.停止mysql服务,卸载mysql
​ 3.删除datadir路径中MySQL文件夹

1.6msyql服务的开启和关闭

​ 1.开始菜单搜索cmd.exe
​ 2.右键cmd.exe,以管理员方式运行
​ 3.执行net start mysql ,开启服务
​ 4.执行net stop mysql,关闭服务

1.7mysql的登录和退出
  • 登录
    ​ mysql -u用户名 -p密码
    ​ msyql -h地址 -u用户名 -p密码
    ​ mysql --host=地址 --user=用户名 --password=密码
  • 退出
    ​ quit
    ​ exit
1.8mysql目录结构
  • 安装目录
    ​ 配置文件 my.ini
  • 数据目录
    ​ 数据库:文件夹
    ​ 表:文件
    ​ 数据:文件中的具体内容

2、SQL

2.1概念

​ Structured Query Language 结构化查询语言,可以操作所有关系型数据库

2.2通用语法

​ 1.sql语句可以单行或多行书写,以;结尾
​ 2.使用空格和缩进提升语句的可读性
​ 3.MySQL中不区分大小写,关键字建议大写
​ 4.注释
​ – 注释内容
​ 单行注释,–后面空格必须写
​ # 注释内容
​ 单行注释,#后面空格可有可无
​ /注释内容/
​ 多行注释

2.3sql分类

​ DDL数据定义语言:
​ 用来操作数据库和表的语句
​ DML数据操作语言:
​ 用来增删改表中的数据的语句
​ DQL数据查询语言:
​ 用来查询表中的数据的语句
​ DCL数据控制语言:
​ 用来定义数据库的访问权限,安全级别以及创建用户的语句

2.4DDL操作数据库和表
2.4.1操作数据库
  • C(Create)创建
    ​ create database 数据库名称
    ​ 创建指定名称的数据库
    ​ create database 数据库名称 character set 字符集名称
    ​ 创建指定名称的数据库,指定字符集
    ​ create database if not exists 数据库名称
    ​ 指定名称数据库不存在,则创建
    ​ create database if not existe 数据库名称 character set 字符集名称
    ​ 指定名称数据库不存在,则创建,并指定字符集

  • R(Retrieve)查询
    ​ show databases
    ​ 查询所有数据库名称
    ​ show create database 数据库名称
    ​ 查询某个数据库的创建语句(字符集)

  • U(Update)修改
    ​ alter database 数据库名称 character set 字符集名称
    ​ 修改指定名称数据库的字符集

  • D(Delete)删除
    ​ drop database 数据库名称
    ​ 删除指定名称的数据库
    ​ drop database if exists 数据库名称
    ​ 指定名称数据库存在,则删除

    2.4.2使用数据库

    ​ select database()
    ​ 查询当前正在使用的数据库名称
    ​ use 数据库名称
    ​ 使用指定名称的数据库

    2.4.3操作表
    • C(Create)创建
      ​ 语法
      ​ create table 表名(
      ​ 列名1 数据类型,
      ​ …,
      ​ 列名n 数据类型
      );
      ​ 注意事项:最后一列不写,号
    • 数据类型
      ​ int 整数类型
      ​ double 小数类型(整体占几位,小数占几位)
      ​ date 日期,包含年月日,yyyy-MM-dd
      ​ datetime 日期,包含年月日时分秒,yyyy-MM-dd HH-mm-ss
      ​ timestamp 时间戳,包含年月日时分秒,如果赋值为null或不赋值,会自动赋值为当前系统时间
      ​ varchar 字符串 zhangsan 占8个字符,张三 占2个字符
      ​ 复制表
      ​ create table 表名 like 要复制的表名
    • R(Retrieve)查询
      ​ show tables
      ​ 查询当前数据库下的所有表的名称
      ​ desc 表名
      ​ 查询指定表的结构
    • U(Update)修改
      ​ alter table 表名 rename to 新表明
      ​ 修改指定表的名称
      ​ alter table 表名 character set 字符集
      ​ 修改指定表的字符集
      ​ alter table 表名 add 列名 数据类型
      ​ 添加一列
      ​ alter table 表名 change 列名 新列名 新数据类型
      ​ 修改列的名称和数据类型
      ​ alter table 表名 modify 列名 新数据类型
      ​ 修改列的数据类型
      ​ alter table 表名 drop 列名
      ​ 删除一列
    • D(Delete)删除
      ​ drop table 表名
      ​ 删除指定名称的表
      ​ drop table if exists 表名
      ​ 指定名称的表存在则删除
2.5DML增删改表中的数据

  • 添加数据
    ​ 语法
    ​ insert into 表名(列名1,…,列名n) values(值1,…,值n)
    ​ 注意事项
    ​ 1.列名和值必须一一对应
    ​ 2.给所有列添加值,列名可以省略不写
    ​ 3.除数字类型外,其他类型必须用引号引起来(单,双引都可)
  • 修改数据
    ​ 语法
    ​ update 表名 set 列名1=值1,列名n=值n [where 条件]
    ​ 注意事项
    ​ 如果不加条件,则修改表中所有的记录
  • 删除数据
    ​ 语法
    ​ delete from 表名 [where 条件]
    ​ 注意事项
    ​ 1.如果不写条件,则删除所有记录
    ​ 2.删除表中所有记录,有两种方式
    ​ 1.delete from 表名:不推荐使用,会逐行删除,效率低
    ​ 2.truncate table 表名:推荐使用,先删除表,在创建新表
2.6DQL查询表中的数据
  • ​ 语法
    ​ select 字段列表 from 表名列表 where 条件列表 group by 分组字段 having 分组后的条件 order by 排序字段 limit 分页限定
  • 基础查询
    ​ 查询多个字段
    ​ select 字段1,字段2,…,字段n from 表名
    ​ 查询所有字段
    ​ select * from 表名
    ​ 去除重复
    ​ select distinct 字段名 from 表名
    ​ 计算列
    ​ 可以使用四则运算计算一些列的值(必须是数字类型的列)
    ​ null参与运算,结果都为null
    ​ ifnull(A,B):A 要判断的列,B 如果为null替换的值
    ​ 起别名
    ​ select 列名1 as 别名1,…,列名n as 别名n from 表名
    ​ as可以省略不写
  • 条件查询
    ​ 运算符
    ​ 基本运算符
    ​ > < >= <= = != <>
    ​ 并且
    ​ and,between…and…,&&
    ​ 或者
    ​ or,in(值1,值2,…),||
    ​ 是否为null
    ​ is null,is not null
  • 模糊查询
    ​ select * from 表名 where 字段名 like ‘张%’
    ​ 占位符
    ​ _:一个任意字符
    ​ %:多个任意字符
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值