• 数据库基础


    mysql -u root -p123456

    数据库概念和sql语句

    数据:数:数字信息 据:属性

    对一系列具体属性的描述的集合。

    数据库:数据库就是用来组织(各个数据之间是有关联,按照规则组织起来的),存储和管理(对数据的增,删,改,查)数据的仓库。

    数据库是企业的信息资产,在使用数据库时,要注意(查和增,无所谓,但是删和改,要谨慎!)

    数据库管理系统(DBMS):实现对数据的有效组织,管理和存取的系统软件

    mysql

    数据库是一个系统,是一个人机系统,硬件,os数据库,DBMS和数据库用户共同组成。

    用户是通过DBMS(各种数据库软件)来对数据库进行操作。

    数据库的分类:

    MySQL:关系型数据库。

    非关系型数据库:redis es

    关系型数据库:存储数据的结构是一个二维的表格

    表:行 列

    行:记录,用来描述一个对象信息

    列:字段,用来描述对象的一个属性。

    关系数据库:mysql(中小类型的数据并发请求 免费)orale(大数据量还是用它) sql-server mariaDB postgresql

    关系型数据库当中,表里面的数据是关联的,表和表之间数据也是关联起来。

    多表关联,最大可以关联几张表?最多三张表(面试题)

    非关系型数据库:保存数据不是一张表格,key--->value 键值对来保存数据。ky32=12

    redis 缓存性的数据库

    es:索引型数据库。

    文档型:MongDB

    既然有关联,查询速度相对来说,关系型数据查询速度更慢一些。非关系型数据库可以支持高并发读写。对海量数据依旧保存高效率的存储和访问。

    MySQL数据库的存储引擎:

    5.5之前:默认引擎MYISAM不支持事务和外键的存储引擎。适用于读的多,写的少。

    5.6之后默认的存储引擎:innodb,可以支持事务,外键,行级锁定的存储引擎。

    支持高并发性能应用。

    事务:在数据库当中,一个或者多个操作组成的序列。

    这些操作要么全部成功,失败一个就全部不执行。确保数据一致性和完整性。

    事务的特点:

    原子性:数据库最小工作单元,要么全部执行成功,要么全部不执行,只有一个操作时间,整个执行的序列都会备回滚。完成的操作也会被撤销。

    一致性:事务执行前后,数据库的完整性不能被破坏,只能在满足所有的约束条件的情况下,事务才能被提交。

    隔离性:事务的执行是相互隔离。一个事务的执行不能受到其他执行事务的干扰。并发事务之间互相隔离。防止数据不一致的情况发生。

    持久性:事务一旦提交,他所做所有修改会被永远保存在数据库中,即使系统崩溃,提交的数据也不会丢失。确保数据库始终处于一致性的状态。确保数据的完整和一致。

    数据库的名词:

    1,数据库:database

    2,表:table 行:row 列:column

    3,索引:index

    4,视图:view

    5,存储过程:procedure

    6,触发器:trigger

    7,用户:user

    8,权限:privilege

    MySQL语句的规范:

    在数据库系统中,sql不区分大小写,单建议你大写。语句不区分,但是表名是严格区分大小写。

    sql语句可以单行,也可以多行,但是默认都以;结尾。

    关键词是不能换行写

    子语句通常位于独立行,便于编辑,提高可读性。

    字符串只能用‘单引号

    数据库的命名规则:

    必须以字母为开头,后面可以包含数字,特殊字符:# _ $

    不要使用mysql的保留字:table select

    数据库名 表名 用户名严格区分大小写。

    数据库的字符类型:

    int:4个字节,用来存储整数

    char:只能存储固定长度的字符串,

    varchar:可变长度的字符类型,存储可变长度的字符串。不是无限制的随便写

    float(m,d):单精度浮点,存储浮点数 m表示总长度,d表示小数点数。

    double(m,d)双精度浮点数,存储浮点数,M也是总位数,d也是表示小数点数。

    text:用于存储大文本数据,文档,或者长字符串。

    image:二进制存储图像,图片,多媒体。

    decimal(5,2):用于存储固定精度的小数,其中5,表示总位数,2表示小数点数

    date:存储日期:yyyy-mm-dd

    datetime:存储日期:yyyy-mm-dd HH:MM:SS

    timestamp:和datetime格式一致,可以自动的更新为当前的时间

    重点:

    char varchar

    char 无论你是否定义了值,都会占用固定长度的字节大小。

    varchar 在保存时,varchar 14 实际长度5 就占5个,加一个隐藏符,6个

    varchar比char节省空间

    但是varchar索引比较慢

    都是字符串类型:一定要用单引号。

    sql语句的分类

    DDL:数据定义语言,用于创建数据库的对象,创建库 表 索引。

    CREATE:创建

    DROP:删除

    ALTER:修改

    查看端口

    show global variables like 'port';

    查看有哪些库

    show databases;

    使用数据库

    use mysql;

    查看表

    show tables;

    如何查看表的结构

    describe user;

    纵向查看

    describe user\G;

    简写:

    desc user;

    新建库

    create database chen;

    使用库

    use chen;

    查看表

    show tables;

    创建表和其中数据:

    create table cc (id int(4) not null,name varchar(10) not null,sroce decimal(5,2),passwd char(48),primary key(id));

    表名cc

    列:id,name,sroce

    主键 id

    删除表

    drop table cc;

    删除库 (库中的表一起删除)

    drop database chen;

    子语句可以换行写

    create table cc (id int(4) not null,

    name varchar(10) not null,

    sroce decimal(5,2),

    passwd char(48),

    primary key(id));

    null和空格的区别:

    null是什么都没有,对象没有任何描述信息。

    空格:也是字符。

    DML:数据操作语言,对于表中的数据进行管理,

    select

    update 更新

    insert 添加

    delete 删除 对表的内容进行删除

    清空表

    truncate table cc;

    插入数据

    insert into cc values(1,'cc1',null,'');

    给信息加密

    insert into cc values(4,'cc4',62,password('333'));

    给原有的信息加密

    update cc set passwd=password('333') where id = 3;

    推荐id,一般表中用id作为唯一标识

    删除指定行

    delete from cc where id = 4;

    DQL:查询数据。

    指定条件去查 where(一般用主键查询)

    select * from cc where id = 6;

    指定行查看limit

    从第二行开始往下2行

    select * from cc limit 2,2;

    前2行

    select * from cc limit 2;

    指定列查询

    select sroce from cc;

    去重查询

    select distinct sroce from cc;

    所有条件包含在内

    修改表的名称

    alter table cc rename ch;

    修改表的结构

    加一列

    alter table ch add birth date;

    对指定内容更新

    update ch set birth=date('2020-1-1') where id = 5;

    修改列名

    alter table ch change birth birthday datetime;

    删除整列

    alter table ch drop birthday;

    修改字段类型

    alter table ch modify column passwd varchar(52);

    主要是改char和varchar。

    其他语句

    DCL:数据控制语言,设置或者更改数据库用户或者用户的权限

    GRANT 赋予权限

    REVOKE 取消权限

    TCL:事务控制语句,管理数据库当中的事务。

    commit: 确认提交事务

    ROLLBACK,事务提交之后无法回滚。

    savepoint保存点,可以回滚。

  • 相关阅读:
    手把手带你学SQL—牛客网SQL 插入记录(一)
    一文梳理SpringCloud常见知识点
    【SQL】【DB】SQL实用小技巧
    [LeetCode]1413. 逐步求和得到正数的最小值
    免费小程序商城搭建之b2b2c o2o 多商家入驻商城 直播带货商城 电子商务b2b2c o2o 多商家入驻商城 直播带货商城 电子商务
    羊了个羊的模式浅薄认知
    Windows模拟器推荐
    指夹式血氧饱和检测仪方案分析
    【网络安全】网站被攻击了怎么办?怎么防护DDOS、CC、XSS、ARP等攻击?
    HLS学习2:使用ARM核点灯
  • 原文地址:https://blog.csdn.net/weixin_51694382/article/details/134078311