随笔分类 -  数据库

1
摘要:解决方法:1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"mysql -u root -pvmwaremysql>use mysql;mysql>update user set host = '%' where user = 'root';mysql>se 阅读全文
posted @ 2013-10-16 14:41 AlexChowG 阅读(4056) 评论(0) 推荐(0)
摘要:如何解决中文乱码问题呢,改变Mysql系统的编码方式,在MySql目录下的my.ini文件中的default-character-set=latin1改为default-character-set=gbk(或其他),再重启服务。但仍然显示为乱码,原来是数据库的编码方式仍是latin1,我直接删除数据库,重新建了一个。后来发现在Mysql/data文件夹下在数据库名对应文件夹下多了个db.opt文件,内容为default-character-set=gbkdefault-collation=gbk_chinese_ci 阅读全文
posted @ 2013-10-16 14:40 AlexChowG 阅读(226) 评论(0) 推荐(0)
摘要:我们都知道,在MySQL中,要实现主键的自动递增非常简单.只需要在主键定义的后面加上auto_increment即可,但是在Oracle中就不是这样,需要分几步来完成1.建立一个表,这个就不多说了,如果这个都不会,,相信我,回头是岸啊~create table 户口本 ( 户号 INTEGER not null, 户别 CHAR(20) not null, 户主姓名 CHAR(20) not null, 住址 CHAR(200) not... 阅读全文
posted @ 2013-10-16 14:39 AlexChowG 阅读(189) 评论(0) 推荐(0)
摘要:mysql 中文安装数据库的时候选择utf-8或者是gbk就行。或者:mysql安装目录下的my.ini文件以下部分: [mysql] //改成你要的编码,比如gbk之类 default-character-set=utf8 [mysqld] # The TCP/IP Port the MySQL Server will listen on port=3306 //改成你要的编码,比如gbk之类 注意要和上面修改的一样 default-character-set=utf8 阅读全文
posted @ 2013-10-16 14:37 AlexChowG 阅读(216) 评论(0) 推荐(0)
摘要:数据库开发时,sql语句要过滤或者用半角代替某些符号防止sql注入select * from users where username=request["username"] and password=request["password"]当request["username"] = 'q' or 0=0 --这样就可以得到用户表--为注释 or 0=0永远是真也可以用封装好的类来执行sql 阅读全文
posted @ 2013-10-16 14:36 AlexChowG 阅读(186) 评论(0) 推荐(0)
摘要:取消插入触发器create trigger mytrg before insert on mytablefor each rowbegin if ... then raise_application_error(-20099,'can not insert for reason of ....'); end if;end; 阅读全文
posted @ 2013-10-16 14:34 AlexChowG 阅读(196) 评论(0) 推荐(0)
摘要:创建数据表的语法形式CREATE TABLE ( 列名1 数据类型 [列级别约束条件] [默认值] 列名2 数据类型 [列级别约束条件] [默认值] ... [表级别约束条件]);主键约束单字段主键字段名 数据类型 PRIMARY KEY多字段联合主键PRIMARY KEY [字段1,字段2....]not null 非空约束unique唯一性约束默认约束字段名 数据类型 default 默认值表属性值自动增加字段名 数据类型 auto_increment外键约束[constraint ] FOREIGN KEY 字段名1[,字段名2,...] references 主键列1[,主键列2... 阅读全文
posted @ 2013-10-16 14:30 AlexChowG 阅读(263) 评论(0) 推荐(0)
摘要:mysql数据库插入year时输入4位字符串或数字按照输入插入输入2位字符串‘00’-‘69’代表2000-2069输入2位字符串‘70’-‘99’代表1970-1999输入2位数字1-69 : 2001-206970-99: 1970-19990 : 0000 阅读全文
posted @ 2013-10-16 14:26 AlexChowG 阅读(500) 评论(0) 推荐(0)
摘要:【例7.46】在fruits表和suppliers表之间使用内连接查询,查询之前,查看两个表的结构,SELECT suppliers.s_id, s_name,f_name, f_priceFROM fruits ,suppliersWHERE fruits.s_id = suppliers.s_id;【例7.47】在fruits表和suppliers表之间使用INNER JOIN语法进行内连接查询SELECT suppliers.s_id, s_name,f_name, f_priceFROM fruits INNER JOIN suppliersON fruits.s_id = suppl 阅读全文
posted @ 2013-10-16 14:23 AlexChowG 阅读(619) 评论(0) 推荐(0)
摘要:mysql索引CREATE TABLE table_name [col_name data type][unique | fulltext | spatial] [index | key][index_name](col_name[length]) [ASC|DESC][unique | fulltext | spatial] [index | key] :索引类型使用EXPLAIN语句查看索引是否正在使用:explain select * from book where year_publication=1990 \G;index(col1,col2...)组合索引查询时需要第一个索引列开始 阅读全文
posted @ 2013-10-16 14:22 AlexChowG 阅读(228) 评论(0) 推荐(0)
摘要:mysql 比较运算符返回结果只有1,0,null= 可以比较字符串和数字 自动转换 不能比较null 安全运算符 可以比较null 或者 != 不等于运算符 不可以比较null= > >右移<<左移&^位取反 阅读全文
posted @ 2013-10-16 14:22 AlexChowG 阅读(948) 评论(0) 推荐(0)
摘要:获取随机数rand(),rand(x)四舍五入round(x),round(x,y)y保留小数点y位,为负数时向左y位truncate(x,y)直接截取符号函数sign(x) x正为1,负数为-1 0为0pow(x,y) x的y次方exp(x) e的x次方log(x) e对x的对数log10(x) 10对x的对数radians(x) 角度转弧度degrees(x) 弧度转角度sin(x)asin(x)...char_length(string) 字符串长度 中文一个字符为3位length(string)concat(string1,string2) 连接字符串insert(s1,x,len,s 阅读全文
posted @ 2013-10-16 14:21 AlexChowG 阅读(496) 评论(0) 推荐(0)
摘要:between xxx and xxx 指定范围查询not不符合的返回like 通配符% : 任意长度字符串包括零字符_ : 一个字符select distinct field_key from tablefield_key唯一一个记录,消除重复值group by分组 结合 max() min() count()函数使用having expr 限定特定的分组with rolluplimit x,y x起始行,可省略代表0 y行数count(字段名) 计算字段记录条数 ,如果字段有空的则不计算sum()计算字段记录总和max()返回查询列的最大值min()返回查询列的最小值 阅读全文
posted @ 2013-10-16 14:20 AlexChowG 阅读(384) 评论(0) 推荐(0)
摘要:mysql insert语句后如何获取insert数据的主键值自动编号方法很简单的,mysql数据自带的了mysql_insert_id ( );函数使用方法:insert into(a')values('b')$nid =last_insert_id();方法二:LAST_INSERT_ID(),不过关于这个函数,与mysql_insert_id()比较有很多的区别,mysql_insert_id ()是直接获取当前session的insert_id,而LAST_INSERT_ID()是SQL函数,需要通过执行SQL来获得,如:SELECT LAST_INSERT_I 阅读全文
posted @ 2013-10-16 14:18 AlexChowG 阅读(1337) 评论(0) 推荐(0)
摘要:mysql连接数据库:mysql -h hostaddress -u username -penterpassword:xxx退出控制台:quit->等待下一条语句或者结束符\c取消输入'>等待'">等待"mysql sql语句以; 结束create database xxx; //创建数据库xxxuse xxx //进入xxx数据库show tables;列出数据库的所有表create table xxx (字段1 字段描述,字段2 字段描述,字段3 字段描述,.....)describe xxx //描述数据库字段show create 阅读全文
posted @ 2013-10-16 14:17 AlexChowG 阅读(138) 评论(0) 推荐(0)
摘要:MySQL 触发器简单实例~~语法~~CREATE TRIGGER --触发器必须有名字,最多64个字符,可能后面会附有分隔符.它和MySQL中其他对象的命名方式基本相象.{ BEFORE | AFTER } --触发器有执行的时间设置:可以设置为事件发生前或后。{ INSERT | UPDATE | DELETE } --同样也能设定触发的事件:它们可以在执行insert、update或delete的过程中触发。ON --触发器是属于某一个表的:当在这个表上执行插入、 更新或删除操作的时候就导致触发器的激活. 我们不能给同一张表的同一个事件安排两个触发器。FOR EACH ROW --触.. 阅读全文
posted @ 2013-10-16 14:15 AlexChowG 阅读(276) 评论(0) 推荐(0)
摘要:linux 安装mysqlyum install mysqlyum install mysql-server 阅读全文
posted @ 2013-10-16 13:44 AlexChowG 阅读(126) 评论(0) 推荐(0)
摘要:以下的文章主要是向大家描述的是MySQL数据库返回影响行数的实际操作流程,我们主要是以介绍MySQL数据库返回影响行数的时机应用代码来引出其具体的操作步骤,下面就是文章的主要内容描述。found_rows():select row_count():updatedeleteinsert注:需要配合相应的操作一起使用,否则返回的值只是1和-1(都是不正确的值)示例:dropdatabaseifexists`mytest`;createdatabase`mytest`;use`mytest`;droptableifexists`MyTestTable`;createtable`MyTestTable 阅读全文
posted @ 2013-10-16 13:42 AlexChowG 阅读(1823) 评论(0) 推荐(0)
摘要:MySQL模式:Strict Mode刚刚在配置阿里云主机的环境:IIS7.5+PHP5.3+MySQL5.5安装Mysql过程中遇到StrictMode的选项,特意料了解了一下,大致如下:一.StrictMode的描述:根据mysql5.0以上版本strictmode(STRICT_TRANS_TABLES)的限制:1).不支持对notnull字段插入null值2).不支持对自增长字段插入''值,可插入null值3).不支持text字段有默认值eg:1.看下面代码:(第一个字段为自增字段)$query="insertintodemovalues('' 阅读全文
posted @ 2013-10-16 13:41 AlexChowG 阅读(334) 评论(0) 推荐(0)
摘要:修改MySql Server安装目录下的 my.ini 文件,在mysqld节下加入下面一行 lower_case_table_names=2 (0:大小写敏感;2:大小写不敏感)数据库名大小写如果区分会导致存储过程访问出错 阅读全文
posted @ 2013-10-16 13:40 AlexChowG 阅读(123) 评论(0) 推荐(0)

1