MySql教程

MySQL数据库基础

本文主要是介绍MySQL数据库基础,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

数据库分类

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

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

安装

  Linux:YUM安装、tar.gz安装

  Windows:软件安装如SQLyog、navicat等

MySQL基础

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

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

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

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

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

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

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

  2.表(table)

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

    2.2.表中包括行、列

  3.SQL语句分类

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      3.3.4.查看数据库:

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

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

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

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

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

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

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

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

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

      3.4.1.设置初始密码

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

      3.4.2.登录mysql

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

            mysql -uroot -p (推荐)

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

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

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

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

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

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

  

这篇关于MySQL数据库基础的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!