
MySql
王奕然
这个作者很懒,什么都没留下…
展开
-
关于insert中文是出现 error 1366(HY000): Incorrect string value: 错误
出现这个错误时先考虑设置的字符集是否支持你输入的中文,我之前是按MySql默认用的utf8(注意我的写法utf8,而不是UTF-8),于是我打算改,在网上查了输入alter table tbname convert to charset gbk;但还是出现 error 1366(HY000): Incorrect string value: 错误,然后我发现一个很有效的方法就是,你找到my.ini原创 2012-10-10 14:23:15 · 1662 阅读 · 0 评论 -
blob和text区别
text分为4种类型:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT,分别对应不同的长度。text是非二进制字符串,并且需要指定字符集,并按照该字符集进行校验和排序。只能存储纯文本,可以看作是VARCHAR在长度不足时的扩展。blob也分为4种类型:TINYBLOB,BLOB,mediumblob和LongBlob,分别对应不同的长度,blob存储的是二进制数据,因此无需字转载 2013-01-09 15:57:19 · 5406 阅读 · 0 评论 -
mysql中case when用法
case when 语句最后可以表示一个值比如 select * from topic order by case when type=2 then 2 else 0 end desc,lastUpdateTime desc;order by后面不用加变量什么的下面是转自http://blog.163.com/zhaozunjie@126/blog/static/13982406120转载 2013-01-09 16:07:47 · 704 阅读 · 0 评论 -
mysql显示中文是乱码和无法插入中文error 1366 incorrect string value
my.ini有2个配置一个是客户端[client],一个是服务器端[mysqld]如果把2个都设置为utf8,那么中文会显示乱码,或者无法插入中文而把客户端设置为gbk,把服务器端设置为utf8就可以插入和显示中文了原创 2013-02-03 11:21:41 · 576 阅读 · 0 评论 -
mysql数据库my.ini配置文件中文详解
mysqld程序–目录和文件引用basedir = path 使用给定目录作为根目录(安装目录)。character-sets-dir = path 给出存放着字符集的目录。datadir = path 从给定目录读取数据库文件。pid-file = filename 为mysqld程序指定一个存放进程ID的文件(仅适用于UNIX/L转载 2013-01-20 12:34:37 · 645 阅读 · 0 评论 -
怎样重启mysql服务器
开始-运行-输入:services.msc-点确定-找到MySQL-在上面右键-重新启动。这样就行了转自:http://zhidao.baidu.com/question/115653100.html转载 2013-02-22 17:05:49 · 602 阅读 · 0 评论 -
MYSQL--如何用日志文件恢复数据
MYSQL的二进制日志文件是MYSQL安全系统里的非常重要的东西,虽然打开日志开关后,所有非SELECT的操作都会记录下来,这在某些场合显得很难堪,比如还原数据库,或者导入数据等,日志文件会一条不漏的记录下所有的命令,这会使日志文件迅速增肥。但正是因为它的这一身肥肉,让数据库的安全性变得更加可靠,不知道这是否可用解释为什么胖人看起来都比较可靠呢?下面具体操作下,看是怎么样通过日志文件,找回丢失的数转载 2013-02-22 17:17:21 · 605 阅读 · 0 评论 -
mysql update失误如何恢复数据
恢复数据先在my.ini配置文件中加上[mysqld]log-bin=mysql-bin (二进制日志名,可以自己定义)然后如果log-bin开启了那么之后所有的操作都会记录在mysql-bin日志里如果没有开启log-bin则需要开启,否则无法恢复数据。如何查询log-bin是否开启用mysql> show variables like 'log_bin';原创 2013-02-22 17:15:19 · 12535 阅读 · 0 评论 -
关于too many connections问题产生原因的理解
产生too many connections 的直接原因是因为数据库提供的连接被全部占满了。数据库可以提供多少连接,可以再my.cnf(linux)或者my.ini(windows)下设定。这个直接原因的上一次原因是引用程序占据连接不释放。至于为何不释放,那就是各个应用程序的具体问题了。 之前 ,遇到这个问题时,在网上找了很多关于这方面的资料,发现都不能解决这方面的问题。网上的资料只能提供一转载 2013-02-24 15:02:53 · 5832 阅读 · 0 评论 -
删除表中的某一列或者表时出现错误
需要用show engine innodb status\G查看说明要删除roleId列,需要先删除它的外键约束alter table sys_user drop foreign key sys_userfk_3;再alter table sys_user drop column roleid;还有删除表时,出现错误可能是这个表的某个列被其他表参考参考着用sho原创 2013-02-24 20:38:49 · 932 阅读 · 0 评论 -
MySQL 添加列,修改列,删除列
ALTER TABLE:添加,修改,删除表的列,约束等表的定义。查看列:desc 表名; 修改表名:alter table t_book rename to bbb; 添加列:alter table 表名 add column 列名 varchar(30); 删除列:alter table 表名 drop column 列名; 修改列名MySQL: alter table bbb chan转载 2013-02-24 20:51:31 · 287 阅读 · 0 评论 -
SQL Join的一些总结
Join是关系型数据库系统的重要操作之一,SQL Server中包含的常用Join:内联接、外联接和交叉联接等。如果我们想在两个或以上的表获取其中从一个表中的行与另一个表中的行匹配的数据,这时我们应该考虑使用Join,因为Join具体联接表或函数进行查询的特性本文将通过具体例子介绍SQL中的各种常用Join的特性和使用场合:目录Inner joinOuter joinCro转载 2013-02-25 10:34:39 · 329 阅读 · 0 评论 -
从零开始学mysql------------读书笔记触发器
创建触发器:若在表名使用触发事件的行为,则执行执行语句,before则在触发事件前执行执行语句,after则在触发事件后执行执行语句create trigger 触发器名 before|after 触发事件on 表名 for each row执行语句触发事件:能触发执行语句的动作条件。有update,delete,insert表名:在哪个表示触发事件for each row原创 2012-10-15 19:23:42 · 460 阅读 · 0 评论 -
从零开始学mysql-------读书笔记查询语句(一)
查询数据select 字段名1,字段名2,....from 表名[where 查询条件][group by 字段名[having 条件]][order by 要排序字段名 desc|asc];带 in关键字查询select * from 表名 where 字段名 [not] in(元素1,元素2...);例如select * from employee wher原创 2012-10-15 19:26:06 · 572 阅读 · 0 评论 -
servlet insert 数据库乱码问题
如果你在servlet接受parameter(其中有中文参数),然后用insert写入数据库,数据库产生乱码,请你注意:这个和url="jdbc:mysql://localhost:3306/messageBoard?useUnicode=true&characterEncoding=gbk"中的characterEncoding内容没有关系,也就是说你完全可以不设置useUnicode和原创 2012-10-10 17:18:57 · 1393 阅读 · 0 评论 -
主键,外键,AUTO_INCREMENT的设置
主键可以由多个属性来设置如CREATE TABLE example(stu_id INT,course_id INT,grade FLOAT,PRIMARY KEY(stu_id,course_id)); 设置外键的语法CONSTRAINT 外键的名字 FOREIGN KEY(属性1.1,属性1.2,...属性1.n)REFERENCES 父表(属性2.1,属性原创 2012-10-11 11:32:49 · 3223 阅读 · 0 评论 -
添加、删除外键约束,更改表存储引擎
添加外键约束ALTER TABLE 表名 ADD CONSTRAINT 外键别名 FOREIGN KEY (属性1.1,属性1.2,...属性1.n) REFERENCES 父表名(属性2.1,属性2.2,...属性2.n); 删除外键约束很简单,语法如下:ALTER TABLE 表名 DROP FOREIGN KEY 外键别名;你可以先用SHOW CREATE TABLE原创 2012-10-11 13:07:09 · 711 阅读 · 0 评论 -
如何导入.sql
导入sql比较常用方法是输入mysql -u 用户名 -p密码 数据库名 > 导入文件的具体地址例如mysql -u root -pxxx message值得注意的是 这句是没有分号的!-p的密码需要紧贴着-p写,执行完后cmd中不会有导入成功的提示,检查的话就进入数据库去查是否实现如果导入错误的话cmd上会有提示:错误可能有3种一种是输入的语句错误 比如你加了分号原创 2012-10-09 17:16:14 · 440 阅读 · 0 评论 -
查看表结构或者创建表时的语句
如果想查看表的属性,类型,主键,是否为空,default等,你可以输入DESCRIBE 表名; 来查看,可以简写成DESC 表名;如果想详细查看当时创建表时的语句:想create...这样的语句,可以输入SHOW CREATE TABLE 表名;来查看.而且这个语句还可以查看该表的数据引擎和字符编码(charset)SHOW CREATE TABLE 表名原创 2012-10-11 11:46:42 · 2016 阅读 · 0 评论 -
增加字段
如果你创建一个表之后,想增加字段的话,是可以的,而且还能设置该字段的具体位置。语法如下:ALTER TABLE 表名 ADD 字段名1 数据类型 [约束] [FIRST|AFTER 字段名2];[]之中是可选内容先写个最简单的:ALTER TABLE user ADD phone VARCHAR(20);如果想添加约束,如下ALTER TABLE user ADD ag原创 2012-10-11 12:38:27 · 4064 阅读 · 0 评论 -
如何删除表
删除表比较容易,但是如果这个表时另外一个表的父表(也就是要删除的表的主键是另外一个表的外键),是不能删除的,需要先删除还有外键的表的约束,然后再删除该表删除表的语法是:drop table 表名;原创 2012-10-11 13:17:11 · 529 阅读 · 0 评论 -
关于自增字段
自增字段必须是主键的一部分,一个表只能有一个自增字段,而且自增字段不能设置默认值,如default 2,会报错。如果插入记录时,不设置自增字段的值、自增字段处插入的值为null或为0,该字段的值在上一条记录的基础上自增加1,如果插入的记录中该字段为7.那么吓一跳记录如果没有指定值,则字段就在此基础上加1.以后以此类推。原创 2012-10-11 14:15:13 · 1038 阅读 · 0 评论 -
修改字段位置
修改字段位置,语法如下:ALTER TABLE 表名 MODIFY 字段1 数据类型 FIRST|AFTER 字段2;字段1为要改位置的字段,FIRST 之后不能加字段的,AFTER 后面的字段2是把字段1放在字段2的后面,还有一个要注意的是数据类型必须写!否则语法错误。可以是原来的数据类型,也可以是要改变的数据类型,但是必须要写。例子如下:ALTER TABLE user M原创 2012-10-11 12:52:19 · 1090 阅读 · 0 评论 -
修改表名,字段名,字段的数据类型
首先要记得不管是修改表名,还是字段名,字段类型,都是修改表相关的,所以前面都要加上 ALTER TABLE 表名 在表名的后面加的是动作,而不是字段名所以ALTER TABLE 表名 动作 这个是不变的!需要注意一下。如果要修改表名 需要写成ALTER TABLE 原表名 RENAME 新表名;如:ALTER TABLE example RENAME user;修改完可原创 2012-10-11 12:18:04 · 7084 阅读 · 1 评论 -
索引
创建表时创建索引create table 表名(属性名 数据类型,....[UNIQUE|FULLTEXT|SPATIAL] INDEX|KEY[索引别名可以不写会自动创建一个] (属性名[(长度)[asc|desc]]);长度可以不写,可以写少一些以提高查询速度,create table index(id INt UNIQUE, name VARCHAR(20),原创 2012-10-12 11:39:24 · 419 阅读 · 0 评论 -
视图
创建视图,view后面的视图名一定要写create [algorithm={undefined|merge|temptable}] view 视图名 [(字段名1.1,字段名1.2....)]as select 字段名2.1,字段名2.2...from 需要查的表名[with [cascaded|local] check option];例如create view view原创 2012-10-12 15:38:31 · 477 阅读 · 0 评论 -
Ubuntu Navicat for MySQL安装以及破解方案
首先上官网上下载LINUX版本: http://www.navicat.com/download1. 下载 navicat110_mysql_en.tar.gz 文件 2. 下载后解压tar文件tar -zxvf /home/rain/download/navicat8_mysql_en.tar.gz 3. 解压后 进入解压后的目录运行命令:./s转载 2013-12-17 10:02:31 · 787 阅读 · 0 评论