MySQL数据库基础

数据库分类

  关系型数据库:MySQL、Oracle、SQL server...

  非关系型数据库:Redis、Mongodb、Mrmcached...

安装

  Linux:YUM安装、tar.gz安装

  Windows:软件安装如SQLyog、navicat等

MySQL基础

  SQL、DB、DBMS分别是什么,他们之间的关系?

    DBMS—(执行)>SQL(操作)—>DB(DBMS负责执行SQL语句,通过执行sql语句来操作DB中的数据)

    SQL:结构化数据语言,是一门标准通用的语言。标准的SQL适合用于所有的数据库产品。

      SQL属于高级语言,简单易懂。

      SQL语句在执行的时候,实际上内部也会先编译,然后在执行(SQL语句的编译有DBMS完成)

    DB:DataBase(数据库,数据库实际上以硬盘的形式存在)

    DBMS:Database  Management  system(数据库管理系统,常见的DBMS有:MySQL、Oracle、DB2、Sybase、SQL server)

表(table)

    table是数据库的基本组成单元,所有的数据都以表格的形式组织,目的是可读性强

    表中包括行、列

SQL语句分类

    DQL(数据查询语言):查询语句,凡是select语句都是DQL

      查询所有:select * from 表名 where 条件;

      不能重复查询:select distinct 列名 from 表名 where 条件;

      连接查询:select concat(列名1,列名2) from 表名; || select group_concat(列名1,列名2) from 表名;

      列起别名:select 列名 as 显示列名 from 表名;

      模糊查询:select * from 表名 where 列名 like '%字符串%';

      升序与降序:select * from 表名 order by 字段名 ASC(升序默认);

                        select * from 表名 order by 字段名 DESC;

      扩展:limit——限定输出范围,or、and(或、且),order by——探测数据列的范围

    DML(数据操作语言):insert、delete、update,对表中的数据进行增删改

      插入数据:insert into 表名(列类型) values(值);

      更新数据:update 表名 set 列名=值 where 条件;

      删除数据:delete from 表名 where 条件;

      扩展:数据库引擎5.5版本之前,默认的引擎是MyISAM;5.5版本后,包含5.5版本,默认的引擎是INNODB。MyISAM:表级锁,不支持事务;INNDB:行级锁,支持事务。

    DDL(数据定义语言):create、drop、alter,对表结构的增删改查

      创建数据库:create database 数据库名;

      删除数据库:drop database 数据库名; (注意:一般情况下,企业不会删除数据库,而是改名字)

      修改数据库字符集:alter database 数据库名 character set 字符集;

      查看数据库:

            a.查看所有数据库:show database;

            b.查看数据库定义:show create database 数据库名;

            c.查看当前正在使用的数据库:select database();

      选中数据库:use 数据库名;

      扩展:1.修改表名:alter table 表名 rename 新表名;

            2.添加表内字段:alter table 表名 add(列名 列类型);

            3.删除表内字段:alter table 表名 drop 列名;

            4.修改列类型:alter table 表名 modify 列名 列类型;

    DCL(数据控制语言):grant授权、revoke撤销权限

      设置初始密码

            mysqladmin -uroot password '密码';(企业里密码设置在符合复杂性要求,至少包含数字、下划线、特数字符,字母大小写等,长度大于8位。

      登录mysql

            mysql -uroot -p '密码' (不推荐)

            mysql -uroot -p (推荐)

      用户授权:grant 权限 on 数据库名称.* to '用户名'@'ip地址' identified by '密码';

      新建用户:create user '用户名'@'ip地址' identified by '密码';

      用户收权:revoke 权限 on 数据库名.* from '用户名'@'ip地址';

      查看用户权限:show grants for '用户名'@'ip地址';

      删除用户权限:drop user '用户名'@'ip地址';

    TCL(事务控制语言):commit提交事务,rollback回滚事务。(TCL中的T是Transaction)

  

posted @ 2021-08-23 15:22  Ayheng  阅读(73)  评论(0编辑  收藏  举报