MySQL个人学习笔记-仅供参考

简介

  • 数据库的作用:数据存储

    数据库本质上就是个文件系统,而且存储的数据可以实现持久化存储
    • DBS:—>数据库系统:由数据库、数据库管理员、数据库管理系统构成

    • DBMS:—>数据库管理系统:是一种用于操纵和管理数据的软件,用于建立、使用、维护数据库。因此数据库的安全性、健壮性、可扩展性都得到了提升

    • DBA:—>数据库管理员:DBA使用DBMS来管理DB

    • DB:—>数据库:本质上是一个个的文件

    当前数据库分为两大类:关系型数据库和非关系型数据
    • 关系型数据库(relational database):存放数据的结构是表,首先要有数据库,再在数据库中创建表,然后在表中存放数据。关系型数据库内部,表与表之间是可以建立关联的。

      • 优点:数据结构鲜明、容易管理
      • 缺点:如果数据量过于庞大,那么在操作数据时,效率相对来说过于底下
      • 典型软件:oracle,DB2,sqlServer,mysql…
    • 非关系型数据库:(NoSql)结构简单,数据与数据之间没有关系。通常用做数据缓存(比如:redis缓存框架)

      • 优点:在架构层面做到了易扩展、数据库庞大时,性能也会很高
      • 典型软件:Redis、MongoDB
  • SQL

    SQL就是结构化的查询语言(structured query language)
    • 特点:

      是一种具有特殊目的的编程语言,是用来完成数据库查询和设计的语言,用于对数据进行更新和查询,创建数据库、创建表等…

      想要操作数据库,想要操作数据库,想要完成对数据库的任何改动,必须使用SQL,因为数据库能够识别的语言只有SQL

    • DDL(data definition language)数据定义语言

      针对数据库或者表结构的创建、修改、删除,通俗来说就是定义数据存储结构的sql语句,关键字:createalterdropshow

    • DML(data manipulation language)数据操作语言

      主要操作数据表中数据的增删改(添加,删除,修改),关键字:insertdeleteupdate

    • DQL(data query language)数据查询语言

      主要针对数据的查询操作,关键字select

    • DCL(data control language)数据控制语言:主要用来创建用户,设置权限,回收权限等,关键字:grant(授权),revoke(回收权限)

      1. 重要数据的操作,是会签订保密、安全协议的,这个是具有法律效应的
      2. 通常其他人没有删除的操作权限
      3. 数据库都是有备份的
    • TCL(transaction control language)数据事务语言:主要用来数据库操作的事务,关键字:commitrollback

    • CCL(cursor control language)指针控制语言:

    • SQL语句的书写规范:

      • sql语句不区分大小写,也就是对大小写不敏感。但是要注意,不区分大小写的是sql语句的关键字,但是自定义的内容严格区分大小写
      • sql语句关键字与内容之间使用空格隔开,目的在确保sql语句正确的前提下,提高代码的可读性
      • 每一条sql语句中

DDL

  • 数据库操作

    • 打开命令提示窗:
    win+r-->cmd
    
    • 登录数据库:
    mysql -uroot -p密码
    
    • 查看所有的数据库:
    show databases;
    
    • 创建数据库
    #创建数据库
    create database 数据库名称;
    #判断数据是否存在之后再创建
    create database if not exists 数据库名;
    #如果还要考虑数据库中的编码格式的话(编码用""引起来,例:"utf8")
    create database if not exists 数据库名 character set "编码格式"(gbk|utf8);
    
    • 使用和切换数据库
    use 数据库名称;
    
    • 修改数据库的编码格式
    alter database 数据库名称 character set "编码格式";
    
    • 查看当前数据库的创建信息
    show create database 数据库名称;
    
    • 删除数据库
    drop database 数据库名称;
    
  • 常用数据类型

    • 数字
      • 整数: tinyint,int
      • 浮点: float,double
    • 字符–>字符串–>值加引号(‘’)
      • 可变字符 varchar
      • 不可变字符 char
    • 日期
      • date:年月日
      • datetime:年月日时分秒 最大取值 9999年12月31日 23时59分59秒
      • timestamp:年月日时分秒 最大取值 2037年12月31日 23时59分59秒,当转换时区的时候,时间随着时区转换而转换
  • 表结构操作

    • 创建表格
    create table 表名(列名1 数据类型(长度),列名2 数据类型(长度)......);
    #当列的数据类型为整数和日期的时候,长度是可以省略的
    
    • 查看表结构
    desc 表名;
    
    • 修改表名
    alter table 旧表名 rename 新表名;
    
    • 查看创建表的相关信息
    show create table 表名;
    
    • 查看当前数据库所有的表
    show tables;
    
    • 在表格的末尾添加一个新的列
    alter table 表名 add 列名 数据类型(长度); 
    
    • 在表的最前面添加一个新的列
    alter table 表名 add 列名 数据类型(长度) first;
    
    • 在表中指定列后面添加一个新的列
    alter table 表名 add 列名 数据类型(长度) after 指定的列名;
    

你可能感兴趣的:(关系型数据库,mysql)