mysql 忘记密码重置 1. 停止 MySQL 服务 $ cd /usr/local/mysql/bin/ $ mysql.server stop 2.进入安全模式 $ cd /usr/local/mysql/bin/ $ sudo ./mysqld_safe --skip-grant-tables 3.新开一个终端,进入 MySQL 输入mysql命令直接进入 $ cd /usr/local/mysql/bin/ $ mysql > use mysql > flush privileges; > set password for 'root'@'localhost'='***' 修改完成。 4.重启 cd /usr/local/mysql/bin/ mysql.server start mysql 安装 MYSQL-python 正常情况 sudo pip install MYSQL-python 出错情况 Collecting MySQL-python U 继续阅读 >>


卢晓丹 17/11/21 22:24:54
什么是主键、外键 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键。 比如: 学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯一的,学号就是一个主键 课程表(课程编号,课程名,学分) 其中课程编号是唯一的,课程编号就是一个主键 成绩表(学号,课程号,成绩) 成绩表中单一一个属性无法唯一标识一条记录,学号和课程号的组合才可以唯一标识一条记录,所以学号和课程号的属性组是一个主键 成绩表中的学号不是成绩表的主键,但它和学生表中的学号相对应,并且学生表中的学号是学生表的主键,则称成绩表中的学号是学生表的外键。 同理:成绩表中的课程号是课程表的外键。 定义主键和外键主要是为了维护关系数据库的完整性,总结一下: 1.主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。 2.外键用于与另一张表的关联。是能确定另一张表记录的字 继续阅读 >>


董恒毅 17/11/18 20:24:39
什么是索引 索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍。 假设我们创建了一个名为people的表: CREATE TABLE people (peopleid SMALLINT NOT NULL, name CHAR(50) NOT NULL); 然后,我们完全随机把1000个不同name值插入到people表。下图显示了people表所在数据文件的一小部分(在数据文件中name列没有任何明确的次序): 如果我们创建了name列的索引,MySQL将在索引中排序name列: 对于索引中的每一项,MySQL在内部为它保存一个数据文件中实际记录所在位置的“指针”。因此,如果我们要查找name等于“Mi 继续阅读 >>


董恒毅 17/11/16 16:44:37
MySQL两个结构相同的表合并 1.把两张表的数据全部导入到临时表中 create table 临时表 select * from 表1 union select * from 表2; 2.创建结果表,并创建主键 create table 结果表(字段1 类型 primary key,字段2 类型,字段3 类型…); 3.把临时表中重复数据过滤并写入结果表 insert into 结果表(字段1,字段2,字段3…) select distinct 字段1,字段2,字段3… from 临时表; 4.删除临时表 drop table 临时表; 关于mysql数据库备份 1.导出整个数据库。 mysqldump -u用户名 -p密码 数据库名 >导出的文件名 a.密码可以在第二行以不可见的形式输入,这样最安全。 b.导出的文件需要自己建立,最好以.sql格式结尾。 2.导出一个表。 mysqldump -u用户名 -p密码 数据库名 表名>导 继续阅读 >>


殷健翔 17/10/06 16:53:20
上次总结到了创建表 表的使用 首先我想看一下表的结构 desc 表名称 或者 show columns from 表名称 表的结构包括属性名,数据类型,是否为空值,是否设定默认值等信息 表的信息查找 select 字段名1,字段名2,字段名3….. from 表名称; 查看所有表的信息:select * from 表名称; 如查看表中第n到m行:select * from 表名称 order by 字段名 limit n-1,m; 表的信息管理 向表中增加插入数据 insert into 表名称 (字段名1,字段名2,字段名3……) values(字段名1的值,字段名2的值,字段名3的值……); 删除表中的数据 delete from 表名称 where 表达式; 其中表名称定位到哪个表,而表达式则定位到要删除的具体位置,表达式的形式是与字段名和其中数据有关的等式; 更新表中的数据 update 表名称 set 字段名=“新值” where 表达式; 继续阅读 >>


殷健翔 17/10/06 16:28:51
不会用Linux的程序猿不是好程序猿,不会用数据库的程序猿也不是一个好的程序猿,所以要成为一个好的程序猿,就需要学会在Linux下操作数据库^_^ Ubuntu下安装MySQL(请原谅我用的时Ubuntu吧^_^): sudo apt-get install mysql-server mysql-client 查看MySQL的版本 mysql -V ps:小写的v会GG的 启动数据库 sudo service mysql start ps:需要使用root权限才能够操作,如果是关闭或者重启,则把start换成stop,restart. 进入MySQL mysql -uroot -p 密码输入安装时设定的密码 然后进入界面之后,简单的一个MySQL命令: show databases; //显示所有的数据库,记得不要忘记那个分号 系统会自带几个数据,例如performance_schema ,information_schema,mysql。这几个自带的数据库最好不要删,以免从删库到跑 继续阅读 >>


殷健翔 17/09/18 21:08:44
第一步:啥叫句柄,就是一个数字,就和你去饭店吃饭要排队,前台小姐给你分配了一个编号一样,然后她可以通过编号找到你。而在操作系统或者某种其他编程系统中,句柄就是这样的一个编号,用来对各种奇奇怪怪的东西编号,系统对你来说是一个黑箱,你只能通过这个编号向系统要东西 第二步:C语言操作mysql数据库常用函数 所用到的头文件: mysql/mysql.h 功能: 获得或初始化一个MYSQL句柄 函数原型: MYSQL *mysql_init(MYSQL *mysql) 函数返回值: 一个被始化的MYSQL*句柄 备注: 在内存不足的情况下,返回NULL 函数功能: 连接一个MySQL服务器(在连接之前,必须先进行过初始化) 函数原型: MYSQL *mysql_real_connect(MYSQL *mysql,const char *host,const char *user,const char *passwd,const char *db,unsigned int port,const char *unix_socket,unsi 继续阅读 >>


刘生玺 17/09/09 14:31:18
第一部分c语言操作数据库 1、连接 MYSQL *mysql mysql=mysql_init(NULL);//初始化一下 mysql_real_connect(mysql,HOST,USER,PASSWD,TESTDB,0,NULL,0) ①HOST是主机名 ②user是ID ③passwd是密码 ④TESTDB是数据库的名称 2、信息错误处理 mysql_error(mysql) 3、对数据库进行操作(具体字符串在第二部分) mysql_real_query(mysql,query,strlen(query)) query是字符串 int result=mysql_affected_rows(mysql)//获取受到影响的行 如果返回值为0,结果就是没有受到影响,数据库中没有想获取的数据 4、储存数据结果和释放空间 MYSQL_RES res=mysql_store_result(mysql) mysql_free_result(res)//必须执行才可以进行后续的操作,不然会出错 5、获取行和列 mysql_f 继续阅读 >>


陈文浩 17/09/03 22:10:58
联结表 1.创建联结 SELECT vend_name,prod_name,prod_price FROM vendors, products WHERE vendors.vend_id = products.vend_id 上面的语句与之前最大的区别在于,指定的列位于两张表内,使用where进行联结。 返回表vendors与表products中vend_id相等的vend_name,prod_name,prod_price 基于两个表之间的相等测试,这种联结称为等值联结,或内部联结。对于这种联结,还可以使用下面这种语法: INNER JOIN ON SELECT vend_name,prod_name,prod_price FROM vendors INNER JOIN products ON vendors.vend_id = products.vend_id 2.联结多个表 SELECT vend_name,prod_name,prod_price, quantity FROM vendors, products, 继续阅读 >>


闫钰晨 17/08/17 17:39:48
表order1中的数据: 汇总数据 1.聚集函数 聚集函数:运行在行组上,计算和返回单个值的函数。 SQL聚集函数 函数 说明 AVG() 返回某列的平均数 COUNT() 返回某列的行数 MAX() 返回某列的最大值 MIN() 返回某列的最小值 SUM() 返回某列之和 SELECT AVG(order_price) AS avg_price FROM order1; 返回表order1 中order_price一列的平均值 2.聚集不同值 像最开始的表里一样,价格有许多重复的,如果只想把不同的值加起来求平均值该怎么办?这就用到了之前博客中提到的DISTINCT SELECT AVG(DISTINCT order_price) AS avg_price FROM order1; 3.组合聚集函数 SELECT语句可以根据需要包含多个聚集函数 SELECT COUNT(*)AS num, M 继续阅读 >>


闫钰晨 17/08/17 14:56:44