mysql问题解决总结

时间:2019-05-12 00:01:03下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《mysql问题解决总结》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《mysql问题解决总结》。

第一篇:mysql问题解决总结

MySql问题解决总结

ERROR 1045(28000): Access denied for user 'root'@'localhost'(using password: YES)ERROR 1045(28000): Access denied for user 'root'@'localhost'(using password: NO)

这种问题就是mysql密码需要重置; 重置方式:

1.打开/etc/mysql/debian.cnf文件,里面存储了相关的密码,我的文件信息如下

sudovi /etc/mysql/debian.cnf# Automatically generated for Debian scripts.DO NOT TOUCH![client] host = localhost user = debian-sys-maint password = 6x1XG2B5p75WtFV2 socket = /var/run/mysqld/mysqld.sock [mysql_upgrade] host = localhost user = debian-sys-maint password = 6x1XG2B5p75WtFV2 socket = /var/run/mysqld/mysqld.sock basedir = /usr 在[client]段有user=以及password=这两行,这就是通过apt-get安装mysql,系统给我们设置的mysql登录名和密码

2.输入命令: mysql-udebian-sys-maint-pdebian-sys-maint即debian.cnf中user=后面的内容.回车后会提示输入密码,此时把password=后面的内容复制粘贴后回车即可进行mysql 控制台

3.进入控制台后.按以下步骤进行: use mysql;update user set password=PASSWORD('新密码')where user='root';FLUSH PRIVILEGES;此时可以输入quit;退出后用root帐号登录,也可以继续其他操作.

第二篇:mySql总结

Mysql命令:在mysql的bin目录下执行: Mysql –h host_name –u user_name –p password Use 数据库名;选定默认数据库(切换数据库)查询当前使用的数据库:select database(); Show databases;显示所有数据库;

Show tables ;显示默认数据库下的所有表; Show status;显示服务器状态信息 c;放弃正在输入的命令; h;显示命令清单;

s;显示mysql服务器状态信息; q;退出mysql;

Describe 表名:查看表结构;

档案柜相当于数据库,抽屉相当于表,抽屉中的文件相当于记录;

0x:加1到9的数字或者a到f就可以构成16进制了。注意零x中的x不能大写。字符串:单引号或者双引号引起来的都是字符串; Tinyint是1字节; Smallint是2字节; Mediumint是3字节; Int是4字节 Bigint是8字节; 删除主表前,先删除子表。选择主键的原则:

1)最少性:尽量选择单个键做为主键

2)稳定性:尽量选择数值更新少的列作为主键。查看自定义函数创建信息:

Show create function function_name;类型总结:

Tinyint :占一个字节,它的范围是-128到127 Smallint:占2个字节,它的范围是-2的15次方到2的15次方减一; Mediumint:占3个字节,它的范围是-2的23次方到2的23次方减一; Int:占4个字节,它的范围是-2的31次方到2的31次方减一; Bigint:占8个字节,它的范围是-2的63次方到2的63次方减一; Float:占4个字节 Double:占8个字节

Decimal(m,n):占m个字节; Char(10)和char(10 char)是一样的;

数值列的完整性约束讲解:

Auto increment(自动标识列):在需要产生唯一标示符号或者顺序值的时候,可用此属性。值从1开始,一般在插入null到auto increment列时,mysql会插入比当前列最大值大1的值。一个表中最多能有一个此属性的列。对于想使用此属性的列应该定义为not null,并定义为primary key或者定义为unique。

Null 和not null:默认是null,如果在插入数据时,指定了not null,那么在插入数据时必须要在此字段插入数据。如果指定了null ,那么在插入数据时,如果没有给此字段插入数据,此字段就插入null.mysql-h host-u user-p menagerie 注意,刚才显示的命令行中的menagerie不是你的 密码。如果你想要在命令行上在-p选项后提供 密码,则不能插入空格(例如,如-pmypassword,不是-p mypassword)。但是,不建议在命令行输入密码,因为这样会暴露 密码,能被在机器上登录的其它用户窥探到。

查询当前日期:使用curdate()函数,任何表都可以的。Select curdate()from cjym;可以通过year,month,day获取它的年月日。Select year(curdate())from cjym;Select month(curdate())from cjym;Select day(curdate())from cjym;Mysql中的_和%表示单个字符和零个或者多个字符; 有like 和not like比较操作符;

要想找出你的服务器支持哪个存储引擎,执行下面的语句: Show engines;Select 1/7;都可以; 日期和时间类型: Time :时间; Date:日期;

Datetime:日期和时间; 创建表:

Create table student(Student_id int(10)not null primary key auto_increment, Student_name varchar(20));注意在创建表的时候,如果是手动写sql语句的时候自动标示符要写这样的 auto_increment;有个下划线; 更改表结构操作:

给表添加一条字段:在最前面加字段用first,在最后面加用after;默认在最后加; Alter table student add age int first;给表设定默认值:

Alter table student alter column_name set default default_value;给表中的字段添加主键;如果主键存在则出现错误; Alter table student add primary key(column_name);删除表中的一列:

Alter table student drop column_name;删除表中的主键: Alter table student drop primary key;更改表的名字:

Alter table student rename as new_tablename;修改表中的字段类型: Alter table student modify sno int;运算符:

Between。。and用于检验一个值(一个求值表达式)是否存在一个指定的范围内;

Select 10 between 1 and 100;结果是1:表示是真的;

In 用于检验一个值(一个表达式)是否包含在一个指定的集合中。

Select 2 in(1,2,3,4,5,6),’a’ in(‘b’,’e’,.’h’);结果显示1和0;1表示真,0表示假;

Is null和is not null来测定是否为空;

特殊的运算符:<=>:mysql称它为null安全的等于; Select null=null,null< = >null;结果显示null和1; Regexp运算符; Mysql中的元字符;

逻辑运算符:and(&&),or(||),not(!)插入数据时,插入多行值时:

插入多行数据: Insert into 表名(列名)Select 列名 From 表名;

更改记录的操作语法格式:

Update 表名 set 列名=更新值 [where 更新条件] 删除记录的操作格式:

Delete from 表名 [where 删除条件]; 表和字段的引用方式有两种: 绝对引用:数据库名.表名(.字段名);相对引用:表名.(字段名); Where子句使用的谓词:

Between。。and。。在两数之间 Not between ….and ….不在两数之间 In:是否在特定的集合里。Not in :与上面相反。Like:是否匹配一个模式;

Regexp:检查一个值是否匹配一个常规表达式; 复制表:

Create table student select name,age from stu;复制表后,表中的字段和stu表中的字段一样并且记录数也是存在的;

学习地址:http://

Mysql的存储过程: Create procedure p()Begin End;

delimiter //

create procedure math_demo()begin

declare i int default 0;

declare d decimal(10,4)default 0;

declare f float default 0;

while i < 10000 do

set d = d +.0001;

set f = f +.0001E0;

set i = i + 1;

end while;

select d,f;end // call math_demo();

mysql中的自定义方法的使用 delimiter // create function function_name()returns return_type;begin

end;// 执行mysql自定义的函数用 Select function_name();

#mysql中的存储过程 delimiter //

create procedure math_demo()begin

declare i int default 0;

declare d decimal(10,4)default 0;…….return return_value;

declare f float default 0;

while i < 10000 do

set d = d +.0001;

set f = f +.0001E0;

set i = i + 1;

end while;

select d,f;end // call math_demo();// delimiter // create function xiaoxiao()returns int begin return 2;end;// #在mysql中创建的自定义函数要加的delimiter,都要一次性选中执行。每条语句都要用分号结束。delimiter // create function xiaoxiao1()returns int begin return 2;end // #执行mysql中的自定义函数 select xiaoxiao1();

根据一个布尔值来检验一个值,在这里布尔值可以是true,false,unknown;

运算符: 等号:=,<=>,不等号:!=,<>;赋值号::=; XOR

逻辑XOR。当任意一个操作数为 NULL时,返回值为NULL。对于非 NULL 的操作数,假如一个奇数操作数为非零值,则计算所得结果为 1,否则为 0。

a XOR b 的计算等同于(a AND(NOT b))OR((NOT a)和 b)。

Coalesce();函数的使用方法:

返回值为列表中第一非null值,在没有非null值的情况下返回null。

Greatest();函数的使用及功能说明:

当函数有2个或者2个以上的参数时,返回参数中的最大参数值,比较参数所依据的规律同least()函数相同。

Interval();函数的使用及功能说明: INTERVAL(N,N1,N2,N3,...)

假如N < N1,则返回值为0;假如N < N2 等等,则返回值为1;假如N 为NULL,则返回值为-1。所有的参数均按照整数处理。为了这个函数的正确运行,必须满足 N1 < N2 < N3 < ……< Nn。其原因是使用了二分查找(极快速)。

Least();函数的使用及功能说明: · LEAST(value1,value2,...)

在有两个或多个参数的情况下,返回值为最小(最小值)参数。用一下规则将自变量进行对比:

o 假如返回值被用在一个 INTEGER 语境中,或是所有参数均为整数值,则将其作为整数值进行比较。

假如返回值被用在一个 REAL语境中,或所有参数均为实值,则 将其作为实值进行比较。

o 假如任意一个参数是一个区分大小写的字符串,则将参数按照区分大小写的字符串进行比较。

o 在其它情况下,将参数作为区分大小写的字符串进行比较。o

假如任意一个自变量为NULL,则 LEAST()的返回值为NULL。

二,控制流函数 Case的使用: 格式1: Case value

when [compare_value] then result_value when [compare_value2] then result_value2 else result_value3 end

格式2: case when value=[compare_value1] then result_value else result_value2 end

 IF(expr1,expr2,expr3)

如果 expr1 是TRUE(expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr2;否则返回值则为 expr3。IF()的返回值为数字值或字符串值,具体情况视其所在语境而定。

ASCII()函数查看对应符号的ascii码。

第三篇:MySql知识点总结

1.数据库创建 : Create database db_name;

数据库删除 : Drop database db_name;删除时可先判断是否存在,写成 : drop database if exits db_name.建表 : 创建数据表的语法 : create table table_name(字段1 数据类型 , 字段2 数据类型);

例 : create table mytable(id int , username char(20));

删表 : drop table table_name;例 : drop table mytable;.添加数据 : Insert into 表名 [(字段1 , 字段2 , ….)] values(值1 , 值2 , …..);

如果向表中的每个字段都插入一个值,那么前面 [ ] 括号内字段名可写也可不写

例 : insert into mytable(id,username)values(1,’zhangsan’);.查询 : 查询所有数据 : select * from table_name;

查询指定字段的数据 : select 字段1 , 字段2 from table_name;

例 : select id,username from mytable where id=1 order by desc;多表查询语句------------参照第17条实例.更新指定数据 , 更新某一个字段的数据(注意,不是更新字段的名字)

Update table_name set 字段名=’新值’ [, 字段2 =’新值’ , …..][where id=id_num] [order by 字段 顺序]

例 : update mytable set username=’lisi’ where id=1;

Order语句是查询的顺序 , 如 : order by id desc(或asc), 顺序有两种 : desc倒序(100—1,即从最新数据往后查询),asc(从1-100),Where和order语句也可用于查询select 与删除delete.删除表中的信息 :

删除整个表中的信息 : delete from table_name;

删除表中指定条件的语句 : delete from table_name where 条件语句;条件语句如 : id=3;.创建数据库用户

一次可以创建多个数据库用户如:

CREATE USER username1 identified BY ‘password’ , username2 IDENTIFIED BY ‘password’…..用户的权限控制:grant

库,表级的权限控制 : 将某个库中的某个表的控制权赋予某个用户

Grant all ON db_name.table_name TO user_name [ indentified by ‘password’ ];.表结构的修改

(1)增加一个字段格式:

alter table table_name add column(字段名 字段类型);----此方法带括号

(2)指定字段插入的位置:

alter table table_name add column 字段名 字段类型 after 某字段;

删除一个字段:

alter table table_name drop字段名;

(3)修改字段名称/类型

alter table table_name change 旧字段名 新字段名 新字段的类型;

(4)改表的名字

alter table table_name rename to new_table_name;

(5)一次性清空表中的所有数据

truncate table table_name;此方法也会使表中的取号器(ID)从1开始.增加主键,外键,约束,索引。。(使用方法见17实例)

① 约束(主键Primary key、唯一性Unique、非空Not Null)

② 自动增张 auto_increment

③外键Foreign key-----与reference table_name(col_name列名)配合使用,建表时单独使用

④ 删除多个表中有关联的数据----设置foreign key 为set null---具体设置参考帮助文档.查看数据库当前引擎

SHOW CREATE TABLE table_name;

修改数据库引擎

ALTER TABLE table_name ENGINE=MyISAM | InnoDB;.SQL语句运用实例:

--1 建users表

create table users

(id int primary key auto_increment, nikename varchar(20)not null unique, password varchar(100)not null, address varchar(200),reg_date timestamp not null default CURRENT_TIMESTAMP);

--2 建articles表,在建表时设置外键

create table articles(id int primary key auto_increment,content longtext not null,userid int,constraint foreign key(userid)references users(id)on delete set null);

---------

--2.1 建articles表,建表时不设置外键

create table articles(id int primary key auto_increment,content longtext not null,userid int);

--2.2 给articles表设置外键

alter table articles add constraint foreign key(userid)references users(id)on delete set null;

----------

--3.向users表中插入数据,同时插入多条

insert into

users

(id,nikename,password,address)

values(1,'lyh1','1234',null),(10,'lyh22','4321','湖北武汉'),(null,'lyh333','5678', '北京海淀');

--4.向article中插入三条数据

insert

into

articles

(id,content,userid)

values(2,'hahahahahaha',11),(null,'xixixixixix',10),(13,'aiaiaiaiaiaiaiaiaiaiaiaia',1),(14,'hohoahaoaoooooooooo',10);

--5.进行多表查询,选择users表中ID=10的用户发布的所有留言及该用户的所有信息

select articles.id,articles.content,users.* from users,articles where users.id=10 and articles.userid=users.id order by articles.id desc;

--6.查看数据库引擎类型

show create table users;

--7.修改数据库引擎类型

alter table users engine=MyISAM;---因为users表中ID被设置成外键,执行此句会出错

--8.同表查询,已知一个条件的情况下.查询ID号大于用户lyh1的ID号的所有用户

select a.id,a.nikename,a.address from users a,users b where b.nikename='lyh1' and a.id>b.id;

------也可写成

select id,nikename,address from users where id>(select id from users where nikename='lyh1');

9.显示年龄比领导还大的员工:

select a.name from users a,users b where a.managerid=b.id and a.age>b.age;

查询编号为2的发帖人: 先查articles表,得到发帖人的编号,再根据编号查users得到的用户名。

接着用关联查询.select * from articles,users得到笛卡儿积,再加order by articles.id以便观察

使用select * from articles,users where articles.id=2 筛选出2号帖子与每个用户的组合记录

再使用select * from articles,users where articles.id=2 and articles.userid=users.id选出users.id等于2号帖的发帖人id的记录.只取用户名:select user where user.id=(select userid from articles where article.id =2)

找出年龄比小王还大的人:假设小王是28岁,先想找出年龄大于28的人

select * from users where age>(select age from users where name='xiaowang');

*****要查询的记录需要参照表里面的其他记录:

select a.name from users a,users b where b.name='xiaowang' and a.age>b.age

表里的每个用户都想pk一下.select a.nickname,b.nickname from users a,users b where a.id>b.id;

更保险的语句:select a.nickname,b.nickname from(select * from users order by id)a,(se

lect * from users order by id)b where a.id>b.id;

再查询某个人发的所有帖子.select b.* from articles a , articles b where a.id=2 and a.userid=b.userid

说明: 表之间存在着关系,ER概念的解释,用access中的示例数据库演示表之间的关系.只有innodb引擎才支持foreign key,mysql的任何引擎目前都不支持check约束。

第四篇:mysql数据库要点总结

查询(R)Selec子句

书写顺序

Select distinct:要返回的列或表达式 From:从中检索数据的表 Where:行级过滤/分组前过滤 group by:分组说明

having:组级过滤/分组后过滤 order by:输出排序顺序desc/asc limit start, count:要检索的行数 limit 3,4 从第3行开始的连续4行

SELECT order_num,sum(quantity*item_price)ordertotal FROM orderitems WHEREorder_numBETWEEN20005AND 20009GROUP BY order_num HAVINGsum(quantity*item_price)>=50ORDER BYordertotalDESCLIMIT4;执行顺序

From表名->inner/left/right/ join on->where->group by->select distinct *->having->order by->limit start, count 插入Insert into(C)INSERT INTO students(name)values(‘杨过’),(‘小龙女’);更新(U)Update UPDATE customers SETcust_email = ‘elmer@fudd.com’WHEREcust_id = 10005;删除(D)Delete DELETE FROM customers WHEREcust_id = 10006;Truncate删除原来的表并重新创建一个表,删除标的全部内容时效率高。

操作表

创建CREATE TABLE customers(Cust_idint not null auto_increment primary key,Cust_name char(50)not null,Cust_addresschar(50)null)engine = innoDB;更新ALTER TABLE删除DROP TABLEcustomers2;重命名RENAME TABLE customers2 TO customers;操作数据库

创建CREATE DATABASE xxx charset = utf8;删除DROP DATABASEXXX;切换USE XXX;查看SHOW DATABASES;关联查询

INNER/LEFT/RIGHTJOIN ON SELECT students.name,subjects.title,scores.scoreFROM scores INNER JOIN students ONscores.stuid = students.id INNER JOIN subjects ONscores.subid = subjects.id;

第五篇:MySQL学习心得

MySQL学习心得

第一章

一、数据库管理系统(DBMS)是操作和管理数据库的大型软件,它按一定的数据模型组织数据。

例如:Oracle、SQL Server、MySQL、Access。

二、数据库应用系统在数据库管理系统(DBMS)支持下建立的计算机应用系统,简写:DBAS。

例如:.net Java。

三、字符集从大到小排序:utf8--gbk--gb2312。

四、mysql的特点:

适用于中小型网站中,体积小、速度快、总体拥有成本低,尤其是有开放源码这一特点。

五、目前Internet上浒的网站构架方式是LAMP(Linux+apache+mysql+php)即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器,由于4个软件都是遵循GPL的开放源码软件,因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。

第二章

一、安装过程中遇到的问题及解决方法:

安装过程中没有完成时计算机关机。(没有删除完文件)安装完成时找不到所配置的路径。(可以从配置文件中找到)

安装完成后无法正常使用。(在计算机管理中重新启动MySQL服务)安装到一半时没有出现下一步。(误把配置文件删除了)安装到最后一步时start service错误。到控制面板里面先把mysql删除.到c盘C:Program Files目录下把mysql目录删除.如果在其他盘还有设置目录也要删除.空目录也要删除 到regedit把注册表

HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Eventlog/Applications/MySQL HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/Services/Eventlog/Applications/MySQL HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Applications/MySQL 有的话,全部删除!(技巧:用F3循环查找“mysql”)如果任务管理器里有关mysql内容也删除 把防火墙关了

重新装mysql(这里我没有重启计算机)

重装时候有必要的话,重启计算机,停用IIS,和删除temp里的临时文件.实在不行的话,配置mysql时候,把mysql服务换个服务名.使用时输入中文会出错。(在配置时在“Character Set”选框中将latinl修改为gb2312;也可以在配置文件中修改)

二、启动服务器的方法: ① 方法1:

在 “计算机管理”中的“服务”项目中启动与停止。② 方法2: 使用命令(net start mysql和net stop mysql)

三、连接MySQL 格式: mysql-h主机地址-u用户名 -p用户密码

①先在打开DOS窗口,然后进入目录 mysqlbin(如果设置了环境变量,则直接输入命令即可。)②键入命令mysql-uroot-proot ③接回车即可进入到MYSQL中了 MYSQL的提示符是:mysql> 注明:直接打开Mysql command line client

四、MySQL注释符有三种: ①#...②“--...” ③

五、忘记密码重新更改密码

先停止mysql服务,修改D:MySQLMySQL Server 5.0 目录下的my.ini文件,在[mysqld]下添加skip-grant-tables 启动mysql服务后就可以以空密码登录,之后别忘记修改root密码

use mysql update user set password=password('hanaixia')where user='root';(分号不能少)password('hanaixia')此处必须用函数设置。

修改密码后需要重新启动服务或者使用 flush privileges;语句,用于从mysql数据库中的授权表重新载入权限。

把 skip-grant-tables 这一句删掉再重启mysql服务。

下载mysql问题解决总结word格式文档
下载mysql问题解决总结.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    php mysql学习总结剖析

    php 字符串 反引号里面的字符必须是命令 如`pwd` 是查看当前目录 转移字符: 符号 含义” 双引号 反斜线n 换行 t 跳位(Tab) 常量和变量 _FILE_ 这个默认常量是php程......

    问题解决

    1、 每袋化肥48千克,3袋化肥大约重多少千克?2、 每框梨重32千克,6框梨大约重多少千克?3、 小红每分钟走63米,5分钟大约走多少米?4、 汽车每小时行驶87米,3小时大约行驶多少米?5、 小......

    问题解决范文合集

    先拍摄后付款问题: 1早上服务客人退款沟通问题!解决方法:早上客人来店必须在一楼吧台确认客人姓名,安排门市每日值班负责处理客人退款问题和交接到化妆部手里。 2拍摄中途签字......

    Mysql数据库学习心得

    Mysql数据库学习心得 由于工作中需要使用mysql,笔者通过网上学习,动手实践,终于从一个"数据库菜鸟"变成了能熟练操作mysql的"准大虾"了,:)。现将学习心得整理如下。 MySQL是完......

    mysql教案讲解

    1、数据库概述 1.1 什么是数据库 数据库DataBase 就是一个存储数据的仓库。 为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可有效地组......

    mysql数据库常用语句大全

    mysql数据库常用语句 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)......

    Mysql常用语句小结

    1.安装Mysql注意:选择语言 2.Doc系统下进入Mysql mysql -u用户名 -p密码 3.常用的命令: 1.查看mysql下所有的数据库:show databases; 2.创建数据库的命令:create database 数据......

    MYSQL常用语句[推荐阅读]

    MYSQL常用语句 一.连接 远程主机:例IP:110.110.110.110 用户名:user 密码: abc 输入命令:mysql -110.110.110.110user-abc; 二.修改密码 加密码 :mysqladmin -u root -password ab12......