数据库系统(DBMS): 专门负责数据管理的工具。增加数据、创建索引、建立索引之间的关联关系、更新索引。。。。。。

连接器:PHP要访问MySQL,可以通过API访问,也可以通过PHP的驱动,而那个驱动就是连接器。

数据的组织结构

层次型 :有上下级关系

网状型 :

关系型 :

关系型数据库管理系统(RDBMS) :以表的方式来展示,并且能帮我们去维护这些表和表之间关系的这么一个软件!

负责将数据从文件中抽取出来,并展示为表的格式

管理数据本身完整性

DBA视图:既能看到用户视图,又能看到物理视图。还能看到中间的处理过程

SQL基本组件

1、用户或者前端驱动。。。会发出SQL命令

2、SQL命令送给我们的DBMS以后,DBMS必须要接受下来,并且做处理

3、提供一个分析器,做词法分析,语法分析。。。。

4、分析的结果要生成执行计划----计划执行器(我们到底有多少种路径可以完成相应任务)

5、对每一条计划进行筛选,选出代价最小,性能最好的---优化器(先不执行,选择一条最优的执行方式)

6、这一切分析结束以后,语句执行要操作数据,文件的存取

7、文件读进来之后先缓存在内存中,---缓存器(先把数据读取到缓存器里面才能进行操作的)

8、缓存器中所提供的任何内容最终还要回存到硬盘中去---磁盘空间管理器(实现对磁盘空间中的某个数据文件中的数据到底该怎么存储进行管理)

9、故障恢复管理器---服务器崩溃,再次启动之后,把存储数据,正在存储数据恢复为正常状态

10、事务管理器

11、锁管理器

mysql简单应用

特性:mysql名:mysql安装到Windows上不需要命令大小写,安装在Linux上区分大小写

mysql基于tcp连接的

若服务器端和客户端在同一台主机上时;服务器端与客户端连接方式为:

Linux:socket (这种连接实现的是本机进程与进程之间的通信,不需要网络驱动来连接,速度非常快!)

windows:memory (共享内存)

socket:套接字文件,这个文件在/var/lib/mysql/mysql.sock

命令(选项和参数之间可以不用加空格)

mysql

-u :指定用户,指名以哪个用户的身份去连接(后面不跟用户名,默认为root)

-p :给这个用户提供密码(后面没有密码,默认为空密码)

-h :指定主机,你的服务器是谁?(后面没跟服务器地址,默认为localhost)

例:mysql  -uroot  -p  -h  127.0.0.1 (第一次登陆)

MySQL数据库管理

数据库对象:

库、表、索引、视图、约束、存储过程、、存储函数、触发器(主动数据库)、游标、用户、权限、事务

关系型数据库最核心的组件就是表(行(row)、列(field/column)组成)

一个表称为实体

字段名称:定义一个字段时,这个字段中存储的是数据还是数值做一下说明(数据类型)。

数据类型:

字符(字符型默认情况下不区分大小写):

CHAR(字符长度)  --->你最多存储多少个字符,最多存储256个字符

VARCHAR(字符长度)     --->你最多存储多少个字符,最多存储65536个字符 (两个字节)(可变化空间)

BINARY(字符长度)        --->以二进制格式进行存储(区分大小写的字符)(固定空间)

VARCHAR(字符长度)       --->以二进制格式进行存储(区分大小写的字符)(可变化空间)

TEXT(文本长度)      --->文本大对象,(不区分大小写)

BLOB(文本长度)      --->二进制格式的文本大对象(区分大小写)

数值:

精确数值(整型),有6种变化,分别使用不同长度的字节来存储整数

TINYINT   --->小整形,范围:一个字节,最多表示范围-128到127,或者0-255

SMALLINT    --->微整形,范围:两个字节,最多表示范围-128到127,或者0-255

MEDIUMINT     --->中等整形,范围:三个字节

INT             --->范围:四个字节

BIGINT      --->大整形,范围:八个字节

DECIMAL    --->十进制

修饰符:UNSIGNED,无符号,

NOT NULL ,不允许为空

近似数值(浮点型)

FLOAT

DOUBLE

日期时间:

DATE   --->日期

TIME   --->时间

DETETIME   --->日期时间

STAMP   --->时间戳

布尔(逻辑):

内置(枚举):

表头(header):每一列的名称

列(row):具有相同数据类型的数据的集合

行(col):每一行用来描述某个人/物的具体信息

值(value):行的集体信息

键(key):表中用来识别某个特定的人/物的方法,键的值在当前列中具有唯一性

数据库命令分类及其常用命令(命令不区分大小写)

姓名(name)  年龄(age) 学号(id) 性别(sex) 电话(tel)

DDL:数据定义语言

create:创建数据库、表

create  database;  数据库名称; --->创建数据库

create  database  if  not  exists   数据库名称;   --->如果数据库不存在我们就创建

create  table  指定库. 表名  (属性1,属性2,...);     --->创建表

alter :修改数据库、表

alter  table   表名

modify :修改某个字段(改字段属性)

change :改变某个字段(不改属性,改内容)

add  :添加一个字段

drop :删除一个字段

drop :删除数据库、表

drop  table   表名    --->删除表

drop  table   if   exists  表名    --->表存在才删除表

drop  database   数据库名;  --->删除数据库

DML:数据操作语言(表)

insert:插入

insert  into  表名 (字段名称1,字段名称2...)value("字符串",数值);  --->数值不用加引号,不加字段名称代表每个字段都写

replace:替换

replace  into

update:修改

update   表名      set   字段='替换内容'  where  name='名字'

delete:删除

delete    from   表名   where  符合条件的行

DCL:数据控制语言

grant:给用户授权                                                                                      也可以修改密码

grant   权限1,权限2,...   on  库名.表名  to  '用户名'@'主机名'  identified  by  '密码';--->给用户授权,用户不存在自动创建用户

revoke:取回权限

revoke    权限1,权限2...  on  库名.表名  from  '用户名'@'主机名;

select   查询

select格式:  select   指定字段   from   表名   条件

create  user :创建用户   格式:   create  user  '用户名'@'主机名'  identified  by '密码';

drop    user :删除用户  格式:  drop   user   '用户名'@'主机名';

select * from 表名;    --->查看表中的内容

show databases;    --->查看库

show  tables  from  指定库;--->查看库中的表

desc 表名;   --->查看表中的结构

show  grants  for  '用户名'@'主机名';   --->查看用户的授权

select  user();   --->当前登录的用户

use   数据库名;  --->设置默认数据库

where   指定搜索条件;   --->做逻辑比较

flush  privileges;     --->刷新授权表

set  password  for   '用户名'@'主机名'  =password('密码'); --->为用户创建密码

选择和投影

选择:指定以某字段作为搜索码,做逻辑比较 ,筛选符合条件的行

投影:选择列为搜索码

数据库命令使用格式详解

创建表及修改字段

create  table  xueyuan   (name  char(20) not null,    age     tinyint  unsigned,    gender  char(1)  not null);

添加表        表名       姓名   属性   不能为空, 年龄    属性  不能为负数,  性别    属性  不能为空

alter      table  xueyuan  add     kecheng  varchar(100);

一个字段     表名     添加   字段名   属性

alter  table  xueyuan  change  kecheng  Kecheng       varchar(100)   after  name;

一个字段     表名     修改    字段名  修改后字段名     属性      放在字段name下面

给表插入数据

insert  into  xueyuan  (name,gender)  value   ('linghuchong',   'm') ,   ('xiaolongnv','f');

插入       表名     字段,字段   关键字   (name字段,gender字段),(name字段,gender字段);

insert  into  xueyuan  value   ('xiao'      , 'hama'    ,    57 ,      'm');

插入        表名    关键字   name字段, course字段,age字段,性别字段

给表修改数据

update  xueyuan     set    Kecheng='shuxue'    where  name = 'xiao'

修改属性   表名    关键字   字段  修改的内容   条件   字段  修改哪一行

在表中筛选数据

select   name,Kecheng  from   xueyuan  where  Kecheng='shuxue';

查询     字段  字段    关键字  表名     选择    Kecheng字段中有shuxue 的行

在表中删除数据

delete  from       xueyuan  where  Kecheng='xiaoniu';

删除     关键字    表名     条件   在Kecheng字段中有xiaoniu的行

创建、删除用户

create  user  'sun' @ '%'          identified  by  'sun';

创建   用户  用户名  所有主机     identified  by:会将纯文本密码加密作为散列值存储

mysql

-u :指定用户,指名以哪个用户的身份去连接(后面不跟用户名,默认为root)

-p :给这个用户提供密码(后面没有密码,默认为空密码)

-h :指定主机,你的服务器是谁?(后面没跟服务器地址,默认为localhost)

--protocol :{tcp|socket|pipe|memory}  指定使用的协议

--port :指定端口

-D 库名 :在登录以后,直接把某个数据库设为默认数据库

show  databases  :显示有几个数据库

数据类型:

字符(字符型默认情况下不区分大小写):

CHAR(字符长度)  --->你最多存储多少个字符,最多存储256个字符

VARCHAR(字符长度)     --->你最多存储多少个字符,最多存储65536个字符 (两个字节)(可变化空间)

BINARY(字符长度)        --->以二进制格式进行存储(区分大小写的字符)(固定空间)

VARCHAR(字符长度)       --->以二进制格式进行存储(区分大小写的字符)(可变化空间)

TEXT(文本长度)      --->文本大对象,(不区分大小写)

BLOB(文本长度)      --->二进制格式的文本大对象(区分大小写)

auto_increment    --->自动增长

数值:

精确数值(整型),有6种变化,分别使用不同长度的字节来存储整数

TINYINT   --->小整形,范围:一个字节,最多表示范围-128到127,或者0-255

SMALLINT    --->微整形,范围:两个字节,最多表示范围-128到127,或者0-255

MEDIUMINT     --->中等整形,范围:三个字节

INT             --->范围:四个字节

BIGINT      --->大整形,范围:八个字节

DECIMAL    --->十进制

修饰符:UNSIGNED,无符号,

NOT NULL ,不允许为空

近似数值(浮点型)

FLOAT

DOUBLE

DDL:数据定义语言

create:创建数据库、表

create  database;  数据库名称; --->创建数据库

create  database  if  not  exists   数据库名称;   --->如果数据库不存在我们就创建

create  table  指定库. 表名  (属性1,属性2,...);     --->创建表

alter :修改数据库、表

alter  table   表名

modify :修改某个字段(改字段属性)

change :改变某个字段(不改属性,改内容,改名)

add  :添加一个字段

drop :删除一个字段

drop :删除数据库、表

drop  table   表名    --->删除表

drop  table   if   exists  表名    --->表存在才删除表

drop  database   数据库名;  --->删除数据库

DML:数据操作语言(表)

insert:插入

insert  into  表名 (字段名称1,字段名称2...)value("字符串",数值);  --->数值不用加引号,不加字段名称代表每个字段都写

replace:替换

replace  into

update:修改

update   表名      set   字段='替换内容'  where  name='名字'

delete:删除

delete    from   表名   where  符合条件的行

DCL:数据控制语言

grant:给用户授权                                                                                      也可以修改密码

grant   权限1,权限2,...   on  库名.表名  to  '用户名'@'主机名'  identified  by  '密码';--->给用户授权,用户不存在自动创建用户

revoke:取回权限

revoke    权限1,权限2...  on  库名.表名  from  '用户名'@'主机名;

创建与删除索引

创建索引: create   index  索引名称    on  表名  (字段) ;

删除索引:drop  index  索引名   on  表名;

select   查询

select格式:  select   指定字段   from   表名   条件

create  user :创建用户   格式:   create  user  '用户名'@'主机名'  identified  by '密码';

drop    user :删除用户  格式:  drop   user   '用户名'@'主机名';

truncate  表名; --->清空表,并且重置计数器(类似于ID..)

show table status like '表名'\g ;  --->查看一个表的属性信息

show  engines;   --->可以显示当前数据库 所支持的所有存储引擎

select * from 表名;    --->查看表中的内容

show databases;    --->查看库

show  tables  from  指定库;--->查看库中的表

desc 表名;   --->查看表中的结构

show  grants  for  '用户名'@'主机名';   --->查看用户的授权

select  user();   --->当前登录的用户

use   数据库名;  --->设置默认数据库

select database();  --->查看当前默认的数据库

where   指定搜索条件;   --->做逻辑比较

flush  privileges;     --->刷新授权表

select  USER,Host,Password FROM user; --->查看用户列表

set  password  for   '用户名'@'主机名'  =password('密码'); --->为用户创建密码

show  variables  like  "%变量名%" --->查看变量

show  indexes   from  表名 ;    --->查看指定表的索引

show  master  status; --->查看当前正在使用的二进制日志文件

show  binary  logs;  查看当前mysql上所可以使用的二进制文件的列表

show  binlog  events  in "file" ; 查看某一个二进制日志文件中的相关内容

选择和投影

选择:指定以某字段作为搜索码,做逻辑比较 ,筛选符合条件的行

投影:选择列为搜索码

数据库命令使用格式详解

创建表及修改字段

create  table  xueyuan   (name  char(20) not null,    age     tinyint  unsigned,    gender  char(1)  not null);

添加表        表名       姓名   属性   不能为空, 年龄    属性  不能为负数,  性别    属性  不能为空

alter      table  xueyuan  add     kecheng  varchar(100);

一个字段     表名     添加   字段名   属性

alter  table  xueyuan  change  kecheng  Kecheng       varchar(100)   after  name;

一个字段     表名     修改    字段名  修改后字段名     属性      放在字段name下面

给表插入数据

insert  into  xueyuan  (name,gender)  value   ('linghuchong',   'm') ,   ('xiaolongnv','f');

插入       表名     字段,字段   关键字   (name字段,gender字段),(name字段,gender字段);

insert  into  xueyuan  value   ('xiao'      , 'hama'    ,    57 ,      'm');

插入        表名    关键字   name字段, course字段,age字段,性别字段

给表修改数据

update  xueyuan     set    Kecheng='shuxue'    where  name = 'xiao'

修改属性   表名    关键字   字段  修改的内容   条件   字段  修改哪一行

在表中筛选数据

select   name,Kecheng  from   xueyuan  where  Kecheng='shuxue';

查询     字段  字段    关键字  表名     选择    Kecheng字段中有shuxue 的行

在表中删除数据

delete  from       xueyuan  where  Kecheng='xiaoniu';

删除     关键字    表名     条件   在Kecheng字段中有xiaoniu的行

创建、删除用户

create  user  'sun' @ '%'          identified  by  'sun';

创建   用户  用户名  所有主机     identified  by:会将纯文本密码加密作为散列值存储

客户端交互式命令

批处理模型/脚本模式   (\?)

source  (\.)  :去载入你文件系统上的某一个脚本

clear  (\c) :语句结束符

connect  (\r) :重新连接服务器

go  (\g):无论语句结束符是什么,直接将此语句送至服务器

ego   (\G):无论语句结束符是什么,直接将此语句送至服务器,而且结果以竖排方式显示。

quit  (\q) :退出

system (\! ) :执行shell命令

\#  :对于新建的对象,支持补全功能

-A  :禁用命令补全

在外部使用输入重定向的方式定义

mysql  -r  -u  -h  < sun.sql

服务器端命令(mysqladmin)

可以通过客户端执行服务器端命令的

mysqladmin  [-u|-p|-h]    子命令  选项

mysqladmin   -uroot  -p    password    '密码'  --->修改密码

mysqladmin   -uroot   -p  -hlocalhost  create  库名   --->添加库

mysqladmin   -uroot   -p  -hlocalhost  drop   库名   --->删除库

mysqladmin   -uroot   -p  -hlocalhost   ping    --->测试数据库服务器是否在线

mysqladmin   -uroot   -p  -hlocalhost   processlist   --->显示正在执行的线程列表

mysqladmin   -uroot   -p  -hlocalhost   status   --->显示服务器当前状态:启动时间、运行的线程数、已经完成的查询数、man查询次数、

打开的表数、刷新的表数(flush)、打开的文件数、平均下来每秒钟的查询数

mysqladmin   -uroot   -p  -hlocalhost   status --sleep 2 --->每两秒钟显示一次服务器状态

mysqladmin   -uroot   -p  -hlocalhost   status --sleep 2 --count 2 --->每两秒钟显示一次,一共显示两次

mysqladmin   -uroot   -p  -hlocalhost   extended-status   --->显示状态变量及其值(统计数据)

mysqladmin   -uroot   -p  -hlocalhost   variables   --->显示服务器变量(定义工作属性)

省略         flush-privileges    --->让mysql重读授权表(等同于reload)

省略         flush-tables      --->关闭所有已经打开的表

省略         flush-status  --->重置大多数服务器状态变量(让统计数据清零)

省略         flush-tables  --->关闭所有已打开的表

省略         flush-threads  --->重置线程缓存(销毁空闲线程)

省略         flush-logs  --->做二进制和中继日志滚动

省略         flush-hosts  --->清除主机内部信息(由于太多的连接错误,而导致的用户拒接登录)

kill  --->杀死进程

省略         refresh  --->等同于执行flush-logs和flush-hosts

省略         shutdown  --->关闭mysql 服务器

省略         version   --->显示musql版本信息和状态信息

省略         start-slave   --->启动复制,启动从服务器的复制线程

SQL thread  --->启动的线程名字

IO thread    --->启动的线程名字

省略         stop-slave   --->关闭复制功能

show  engines;   --->可以显示当前数据库 所支持的所有存储引擎

名称             是否支持   简要描述                                                     是否支持事务   是否支持分布式事务   是否支持保存点

+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+

| Engine             | Support | Comment                                                        | Transactions | XA                 | Savepoints |

+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+

| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys                  | YES      | YES                 | YES         |

(默认)

show table status like '表名' \G --->查看一个表的属性信息

创建表:

1、直接定义一张空表

create   table   [if not extsts]  表名 (表属性) ,(表选项:字段名称,字段属性,约束/索引)

2、从其他表中查询出数据并以之创建新表

3、以其他表为模板,创建一个新表

设置主键方法:

create table sun1 (id int not  null auto_increment primary key ,name char(20)not null ,age tinyint  not null );

create table sun2 (id int not  null auto_increment ,name char(20)not null ,age tinyint  not null,primary key(id,name));  :id和name联合起来成为主键

设置唯一键(名称字段中不允许出现重复)

create table sun2 (id int not  null auto_increment ,name char(20)not null ,age tinyint  not null,primary key(id,name)  ,unique key (name));  :name这个字段中的数据不允许出现重复

create table sun2 (id int not  null auto_increment ,name char(20)not null ,age tinyint  not null,primary key(id,name)  ,unique key (name), index(age)); :设置age 为索引

设置表的存储引擎

create  table  表名  (一系列属性 )engine = 存储引擎名

设置最多存储多少行

create  table  表名  (一系列属性 ) max-rows=多少行

当使用AUTOINCREMENT列创建序列时,在INSERT语句中不使用字段名将导致MySQL自动产生序列的下一个序号。这个序号作为表的主键。

insert into   kk     (ke)  values   ('huama'),('pixie'),('kuihua');

关键字   表    字段  关键字    添加内容

增加主键

insert into   kk     (ke)  values   ('huama'),('pixie'),('kuihua');

关键字   表    字段  关键字    添加内容

2、从其他表中查询出数据并以之创建新表

仿照一张表创建一张新表(有数据)

create  table  xinwen  select  *  from  kk     where  name >= 2;

创建表     表名      查看 旧表   表名    关键字  条件

3、以其他表为模板,创建一个新表

仿照一张表创建一张新表(空表)

create  table  新建表名  like  仿照表明;

给表中一个字段添加一个唯一键(前提是表中没有重复的数据)

alter  table  表名  add  unique  key   (字段名);

或者:rename  table  旧名字 to  新名字;

删除一个表中的字段

alter  table 表名  drop  字段;

alter  table

添加、修改、删除字段    修改表属性

添加、删除、修改索引    改表名

给表中一个字段添加一个唯一键(前提是表中没有重复的数据)

alter  table  表名  add  unique  key   (字段名);

给库中的表改名字

alter  table  旧名字  rename  to  新名字;

或者:rename  table  旧名字 to  新名字;

给表中的字段改名字

alter table表名 change   旧字段  新字段 新字段属性;

直接修改表引擎

alter   table   表名   engine=存储引擎名(MyISAM|lnnoDB)

多表查询(将两张表联合起来查询相同的结果):

select  name   ,    keming   from  xuehao,kehao  where  xuehao.cid=kehao.cid;

查询    表A字段 表B字段         表名   表名  条件    两张表的cid相同的数据

注意:外键约束只能够用在支持事务的存储引擎上!

单表查询

在一个表中,某个字段中相同的数值只显示一次!

select  distinct  字段名   from  表名;

from子句 :表,多个表,其他查询语句(select)

where子句:布尔关系表达式,操作符(<,>,>=,<=,=)

组合条件查询

符号:   %:任意长度任意字符

_:任意单个字符

rlike/regexp:使用正则表达式

in :离散取值

order  by  字段 (asc升序/desc降序):给查询出来的数据排序,(默认为升序)

and :和

or :或

not :非

between。。。and。。。:。。。与。。。。之间

select   cid  from  xuehao  where      not   cid >2;

关键字      非    条件

select   cid  from  xuehao  where     not    cid >2      and   id=1;

关键字     非    条件       和    条件

select   cid  from  xuehao  where    cid >2    or    id=1;

关键字    条件   或者   条件

select   cid  from  xuehao  where     not   cid > 2   and   not    id =1;

关键字     非    条件    和    非    条件

select   cid  from  xuehao  where     not  (cid > 2  or  id =1);

关键字     非     条件1或条件2

select   cid  from  xuehao  where     cid    between  2  and  6;

关键字     cid在2与6之间(between:。。。与。。。之间)

select keming from    kehao  where    keming   like          'y%'

关键字  字段名   关键字    以y开头的字符

select keming from    kehao  where     keming   like         'k_ _ _';

以K开头后面有3个字符

select keming from    kehao   where    keming    like         '%k%';

字符中包含了k的字符串

select keming from    kehao   where     keming   rlike            '^[ky].*$' ;

使用正则表达式     开头是k或y

select   cid   from    kehao  where      cid       in         (1,2,5);

筛选出一个表中id的值为1,2,5

select    *    from    xuehao     order   by  cid

排序   根据cid

别名:select  a.Name , b.Cname      from   students  as  a,courses  as  b  where  a.CID1=b.CID;

字段别名为a   字段别名为b           表别名为a      表别名是b   条件   表a的CID1=表b的CID

多表查询

连接方式

交叉连接:笛卡尔乘积

自然连接:将两张表上相同字段当中的的那个值逐一作比较,只将等值关系将它保留下来

外连接:

左外连接:左表  left  join  右表  on  条件

右外连接:左表  right  join 右表  on  条件

select s.Name,c.Cname  from  students   as    s  lef t join  courses  as     c  on     s.CID1=c.CID;

左表  别名   s   左外连接 右表  别名    c  连接条件

select s.Name,c.Cname  from  students   as    s   right join  courses  as  c  on  s.CID1=c.CID;

左表  别名   s   右外连接   右表  别名 c 连接条件

子连接:

比较操作中使用子查询,子查询只能返回单个值

in ():使用子查询

联合查询

union

(select Name,Age from  students) union  (select Tname,Age from  tutors);

insert  into

insert  into  表名  (字段,字段)  value  ('字符串',数字),('字符串',数字);

insert  into  表名  set  字段=数值(字符串加引号),字段=数值,字段=数值;

select  *  from  kebiao  order  by    id     desc    limit  1;

表名   排序       字段   倒叙   只显示1个

当我们在表中删除一个数据(id 10),当我们再创建这个数据时,id不会再是10,用一条命令查看自动生成的id,(select  last_insert_id();)mysql会接着这里面的数字继续排下去,除非把这里面的数值清零。

在表中筛选出的数据插入到另一张表中(两种表的字段必须相同)

insert  into  kebiao  (name) select  name  from  xuesheng   where   id>2;

插入到     表名   字段      在  字段        表名        筛选   条件

在表中筛选出的数据插入到另一张表中,若这张表中数据重复则替换

replace  into  kebiao  (name) select  name  from  xuesheng   where   id>2;

delete

mysql内置选项:当你使用delete语句或者update语句时,没有使用where条件(字句),它不会让你执行!

注意:当你清空整张表时,在插入数据,数据的id号也会接着最后一个被清空数据的id号继续往下排

所以,想要从零开始,必须清空(select  last_insert_id();)中的数值

truncate  表名; --->清空表,并且重置计数器(select  last_insert_id();)类似于id。。。

加锁:lock   tables    表名   锁类型{read|write}

解锁:unlock   tables    :表示解除所有表的锁

mysql默认隔离级别为REPATABLE  READ可重读

查看隔离级别:show global variables like '%iso%';

修改隔离级别:set  {session|global} 变量名='对应值'; |set tx_isolation='read-committed';

创建用户

create  权限   用户名@主机名   identified   by  "密码"

flush  privileges;  重读授权表,读取用户信息

show  grants  for  用户名@'主机名'; 查看用户账户信息

修改管理员密码

退出并关闭mysql :service  mysql   stop

手动修改启动文件:/etc/init.d/mysql  修改第283行

添加:

--skip-grant-tables :跳过授权表

--skip-networking :跳过网络

启动mysql服务:service mysql  start

use  mysql   :指定数据库

select  User,Host,Password  from  user;    :查看用户表

update  user   set   Password=PASSWORD('密码')  where  User='root';  :手动修改密码

退出数据库,关闭服务!

修改/etc/init.d/mysql,把添加的那两行删除

再重新启动服务,就可以登陆了

转载于:https://www.cnblogs.com/linux-s/p/11290029.html

详解数据库引擎与SQL语句增删改查(非常详细,带例)相关推荐

  1. 安卓增删改查用sql语句号码_详解Android中一些SQLite的增删改查操作

    在Android开发中经常要涉及到对数据的操作.Android本身提供了四种数据存储方式.包括:SharePreference,SQLite,Content Provider,File. 在Andro ...

  2. MySQL数据库安装以及SQL基本增删改查

    目录 1.介绍下数据库 1.1.DB概念和特点 1.2.常见DB软件 1.3.数据库结构 2.MySQL安装与使用 2.1.安装 2.2.卸载 2.3.MySQL服务启动与关闭 2.4.MySQL登录 ...

  3. SQL语句增删改查公司-员工3表典型案例

    基础原生SQL增删改查,一般公司业务表,必知必会基础流程! 程序开发之大法,从数据库开始,不管是sqlserver,Oracle数据库还是其他MySQL等等的数据库.都是从写SQL语句开始.需要您必知 ...

  4. SQL语句(增删改查)

    个人感觉SQL语句不用刻意的去记忆,多使用,用到的时候忘记了就查找一下,使用的频繁,自然就记住了. SQL语句使用:数据库操作SQL.数据表操作SQL.数据记录操作SQL (一)数据库SQL 1.创建 ...

  5. ​MYSQL中常用的SQL语句​(增删改查)

    MYSQL中常用的SQL语句 一.增删改查 1.新增 指定字段插入: INSERT INTO <表名> (<字段1>, <字段2>, <字段3>) VA ...

  6. php pdo 更新sql语句,增删改查sql语句及PDO数据库连接操作流程实例-2019年7月24日...

    一.增删改查sql语句语法: 增: INSET INTO `表名` SET `字段名`=值 (也可写别名用,值前面加冒号->:别名): 删: DELETE FROM `表名`  WHERE `字 ...

  7. 数据库知识点+sql语句增删改查(详解)

    # 数据库相关SQL 1.查询所有数据库 - 格式: show databases; 2.创建数据库 - 格式: create database 数据库名 charset=utf8/gbk; - 举例 ...

  8. wps连接mysql数据库增删改查_Python操作MySQL数据库实例详解【安装、连接、增删改查等】...

    本文实例讲述了python操作MySQL数据库.分享给大家供大家参考,具体如下: 1.安装 通过Python连接MySQL数据库有很多库,这里使用官方推荐的MySQL Connector/Python ...

  9. 基本sql语句--增删改查

    增 insert into 表名 values (值1,值2...): 也可以指定所要插入的列: insert into 表名 (列1,列2...) values (值1,值2...); 注:一般My ...

最新文章

  1. 通信专业学python有用吗-通信人不会这项技能,5G时代很难拿到高薪
  2. 清华大学计算机系71班张晨,“神仙打架”要来了!网友:又到了凡人围观的时刻...
  3. django的环境搭建(一)
  4. python序列是几维_从一个1维的位数组获得一个特定的2维的1序列数组[Python] - python...
  5. 题目1198:a+b
  6. Scale计算公式 - 关于电压值与二进制数值间的转换
  7. 【五级流水线CPU】—— 5. 转移指令(14条)
  8. Python破解协议密码
  9. 下列不是python元组的定义方式_python 笔试题
  10. 揭穿病毒和木马的隐藏手段
  11. RDIFramework.NET ━ .NET快速信息化系统开发框架-4.5 用户管理模块
  12. 层次分析法例题 matlab,层次分析法的MATLAB实现
  13. 请求图片链接,为什么有的图片直接展示,有的图片就直接进行下载?
  14. 婚姻中受伤的为什么总是女人
  15. mysql中locat函数,MySQL中的LOCATE和POSITION函数使用方法
  16. Basic Concepts in Graphics and Architecture
  17. 我们的征途是星辰大海
  18. Echarts (option.yAxis) Y轴 的属性
  19. 电脑中常用的“扇区”、“簇”、“块”、“页”等概念
  20. web前端程序员求职时该如何写简历

热门文章

  1. @EnableAsync @Async 的详解
  2. 类型转换与采样 || SMOTE算法
  3. 计算机组成原理——程序查询方式、程序中断方式
  4. leetcode C++ 42. 接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,
  5. [学习笔记]模拟电路技术
  6. mysql中的merge into,SQL Server 2008中利用merge into关键实现insert/update自动匹配(类似于MySQL中的For Update关键字)...
  7. 下边框_OPPO Find X2颜值有多高?超窄下边框+瀑布屏,看完大写的服气
  8. Dimple.js基础
  9. 第十八讲 傅里叶变换
  10. Springboot 简单的定时器