首页
关于
友情链接
文章归档
Search
1
centos 32位 64位 下挂vagex一键包代码
719 阅读
2
wordpress转typecho方法
615 阅读
3
一个自制的virto精简版kvm qemu win2003模板 最低64M内存可用
605 阅读
4
PHP 安装
540 阅读
5
暴雨 车被泡了~
480 阅读
默认分类
vps综合利用
登录
/
注册
Search
标签搜索
Uncategorized
安装
mysql
utf-8
网站
google
linux
free
免费
黑色
ssl
一键包
优化
40%
press
vagex
32位
64位
debian
domain
御品VPS
累计撰写
501
篇文章
累计收到
1
条评论
首页
栏目
默认分类
vps综合利用
页面
关于
友情链接
文章归档
搜索到
37
篇与
index
的结果
2018-05-05
JavaScript 类型转换
JavaScript 类型转换Number() 转换为数字, String() 转换为字符串, Boolean() 转化为布尔值。JavaScript 数据类型在 JavaScript 中有 5 种不同的数据类型: string number boolean object function 3 种对象类型: Object Date Array 2 个不包含任何值的数据类型: null undefined typeof 操作符你可以使用 typeof 操作符来查看 JavaScript 变量的数据类型。实例typeof "John" // 返回 string typeof 3.14 // 返回 number typeof NaN // 返回 numbertypeof false // 返回 booleantypeof [1,2,3,4] // 返回 object typeof {name:'John', age:34} // 返回 objecttypeof new Date() // 返回 objecttypeof function () {} // 返回 function typeof myCar // 返回 undefined (如果 myCar 没有声明) typeof null // 返回 object请注意: NaN 的数据类型是 number 数组(Array)的数据类型是 object 日期(Date)的数据类型为 object null 的数据类型是 object 未定义变量的数据类型为 undefined 如果对象是 JavaScript Array 或 JavaScript Date ,我们就无法通过 typeof 来判断他们的类型,因为都是 返回 Object。constructor 属性constructor 属性返回所有 JavaScript 变量的构造函数。实例"John".constructor // 返回函数 String() { [native code] } (3.14).constructor // 返回函数 Number() { [native code] } false.constructor // 返回函数 Boolean() { [native code] } [1,2,3,4].constructor // 返回函数 Array() { [native code] } {name:'John', age:34}.constructor // 返回函数 Object() { [native code] } new Date().constructor // 返回函数 Date() { [native code] } function () {}.constructor // 返回函数 Function(){ [native code] }你可以使用 constructor 属性来查看对象是否为数组 (包含字符串 "Array"):实例function isArray(myArray) { return myArray.constructor.toString().indexOf("Array") > -1;}你可以使用 constructor 属性来查看对象是否为日期 (包含字符串 "Date"):实例function isDate(myDate) { return myDate.constructor.toString().indexOf("Date") > -1;}JavaScript 类型转换JavaScript 变量可以转换为新变量或其他数据类型: 通过使用 JavaScript 函数 通过 JavaScript 自身自动转换 将数字转换为字符串全局方法 String() 可以将数字转换为字符串。该方法可用于任何类型的数字,字母,变量,表达式:实例String(x) // 将变量 x 转换为字符串并返回 String(123) // 将数字 123 转换为字符串并返回 String(100 + 23) // 将数字表达式转换为字符串并返回Number 方法 toString() 也是有同样的效果。实例x.toString()(123).toString()(100 + 23).toString()在 章节中,你可以找到更多数字转换为字符串的方法: 方法 描述 toExponential() 把对象的值转换为指数计数法。 toFixed() 把数字转换为字符串,结果的小数点后有指定位数的数字。 toPrecision() 把数字格式化为指定的长度。 将布尔值转换为字符串全局方法 String() 可以将布尔值转换为字符串。String(false) // 返回 "false" String(true) // 返回 "true"Boolean 方法 toString() 也有相同的效果。false.toString() // 返回 "false" true.toString() // 返回 "true"将日期转换为字符串Date() 返回字符串。Date() // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)全局方法 String() 可以将日期对象转换为字符串。String(new Date()) // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)Date 方法 toString() 也有相同的效果。实例obj = new Date()obj.toString() // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)在 章节中,你可以查看更多关于日期转换为字符串的函数: 方法 描述 getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。 getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。 getFullYear() 从 Date 对象以四位数字返回年份。 getHours() 返回 Date 对象的小时 (0 ~ 23)。 getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。 getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。 getMonth() 从 Date 对象返回月份 (0 ~ 11)。 getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。 getTime() 返回 1970 年 1 月 1 日至今的毫秒数。 将字符串转换为数字全局方法 Number() 可以将字符串转换为数字。字符串包含数字(如 "3.14") 转换为数字 (如 3.14).空字符串转换为 0。其他的字符串会转换为 NaN (不是个数字)。Number("3.14") // 返回 3.14 Number(" ") // 返回 0 Number("") // 返回 0 Number("99 88") // 返回 NaN在 章节中,你可以查看到更多关于字符串转为数字的方法: 方法 描述 parseFloat() 解析一个字符串,并返回一个浮点数。 parseInt() 解析一个字符串,并返回一个整数。 一元运算符 +Operator + 可用于将变量转换为数字:实例var y = "5"; // y 是一个字符串 var x = + y; // x 是一个数字如果变量不能转换,它仍然会是一个数字,但值为 NaN (不是一个数字):实例var y = "John"; // y 是一个字符串 var x = + y; // x 是一个数字 (NaN)将布尔值转换为数字全局方法 Number() 可将布尔值转换为数字。Number(false) // 返回 0 Number(true) // 返回 1将日期转换为数字全局方法 Number() 可将日期转换为数字。d = new Date();Number(d) // 返回 1404568027739日期方法 getTime() 也有相同的效果。d = new Date();d.getTime() // 返回 1404568027739自动转换类型当 JavaScript 尝试操作一个 "错误" 的数据类型时,会自动转换为 "正确" 的数据类型。以下输出结果不是你所期望的:5 + null // 返回 5 null 转换为 0"5" + null // 返回"5null" null 转换为 "null" "5" + 1 // 返回 "51" 1 转换为 "1" "5" - 1 // 返回 4 "5" 转换为 5自动转换为字符串当你尝试输出一个对象或一个变量时 JavaScript 会自动调用变量的 toString() 方法:document.getElementById("demo").innerHTML = myVar;// if myVar = {name:"Fjohn"} // toString 转换为 "[object Object]" // if myVar = [1,2,3,4] // toString 转换为 "1,2,3,4" // if myVar = new Date() // toString 转换为 "Fri Jul 18 2014 09:08:55 GMT+0200"数字和布尔值也经常相互转换:// if myVar = 123 // toString 转换为 "123" // if myVar = true // toString 转换为 "true" // if myVar = false // toString 转换为 "false"
2018年05月05日
115 阅读
0 评论
0 点赞
2018-05-05
MySQL 索引
MySQL 索引MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。索引分单列索引和组合索引。单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。组合索引,即一个索引包含多个列。创建索引时,你需要确保该索引是应用在 SQL 查询语句的条件(一般作为 WHERE 子句的条件)。实际上,索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录。上面都在说使用索引的好处,但过多的使用索引将会造成滥用。因此索引也会有它的缺点:虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件。建立索引会占用磁盘空间的索引文件。普通索引创建索引这是最基本的索引,它没有任何限制。它有以下几种创建方式: CREATE INDEX indexName ON mytable(username(length)); 如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是BLOB和TEXT类型,必须指定 length。修改表结构(添加索引) ALTER table tableName ADD INDEX indexName(columnName) 创建表的时候直接指定 CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, INDEX [indexName] (username(length)) ); 删除索引的语法 DROP INDEX [indexName] ON mytable; 唯一索引它与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。它有以下几种创建方式:创建索引 CREATE UNIQUE INDEX indexName ON mytable(username(length)) 修改表结构 ALTER table mytable ADD UNIQUE [indexName] (username(length)) 创建表的时候直接指定 CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, UNIQUE [indexName] (username(length)) ); 使用ALTER 命令添加和删除索引有四种方式来添加数据表的索引: ALTER TABLE tbl_name ADD PRIMARY KEY (column_list): 该语句添加一个主键,这意味着索引值必须是唯一的,且不能为NULL。 ALTER TABLE tbl_name ADD UNIQUE index_name (column_list): 这条语句创建索引的值必须是唯一的(除了NULL外,NULL可能会出现多次)。 ALTER TABLE tbl_name ADD INDEX index_name (column_list): 添加普通索引,索引值可出现多次。 ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list):该语句指定了索引为 FULLTEXT ,用于全文索引。 以下实例为在表中添加索引。 mysql> ALTER TABLE testalter_tbl ADD INDEX (c); 你还可以在 ALTER 命令中使用 DROP 子句来删除索引。尝试以下实例删除索引: mysql> ALTER TABLE testalter_tbl DROP INDEX c; 使用 ALTER 命令添加和删除主键主键只能作用于一个列上,添加主键索引时,你需要确保该主键默认不为空(NOT NULL)。实例如下: mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL; mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i); 你也可以使用 ALTER 命令删除主键: ALTER table tableName ADD INDEX indexName(columnName) 0删除主键时只需指定PRIMARY KEY,但在删除索引时,你必须知道索引名。显示索引信息你可以使用 SHOW INDEX 命令来列出表中的相关的索引信息。可以通过添加 /G 来格式化输出信息。尝试以下实例: ALTER table tableName ADD INDEX indexName(columnName) 1
2018年05月05日
109 阅读
0 评论
0 点赞
2018-05-05
MySQL 复制表
MySQL 复制表如果我们需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等。 如果仅仅使用CREATE TABLE ... SELECT命令,是无法实现的。本章节将为大家介绍如何完整的复制MySQL数据表,步骤如下: 使用 SHOW CREATE TABLE 命令获取创建数据表(CREATE TABLE) 语句,该语句包含了原数据表的结构,索引等。 复制以下命令显示的SQL语句,修改数据表名,并执行SQL语句,通过以上命令 将完全的复制数据表结构。 如果你想复制表的内容,你就可以使用INSERT INTO ... SELECT 语句来实现。 实例尝试以下实例来复制表 runoob_tbl 。步骤一:获取数据表的完整结构。 mysql> SHOW CREATE TABLE runoob_tbl /G; *************************** 1. row *************************** Table: runoob_tbl Create Table: CREATE TABLE `runoob_tbl` ( `runoob_id` int(11) NOT NULL auto_increment, `runoob_title` varchar(100) NOT NULL default '', `runoob_author` varchar(40) NOT NULL default '', `submission_date` date default NULL, PRIMARY KEY (`runoob_id`), UNIQUE KEY `AUTHOR_INDEX` (`runoob_author`) ) ENGINE=InnoDB 1 row in set (0.00 sec) ERROR: No query specified 步骤二:修改SQL语句的数据表名,并执行SQL语句。 mysql> CREATE TABLE `clone_tbl` ( -> `runoob_id` int(11) NOT NULL auto_increment, -> `runoob_title` varchar(100) NOT NULL default '', -> `runoob_author` varchar(40) NOT NULL default '', -> `submission_date` date default NULL, -> PRIMARY KEY (`runoob_id`), -> UNIQUE KEY `AUTHOR_INDEX` (`runoob_author`) -> ) ENGINE=InnoDB; Query OK, 0 rows affected (1.80 sec) 步骤三:执行完第二步骤后,你将在数据库中创建新的克隆表 clone_tbl。 如果你想拷贝数据表的数据你可以使用INSERT INTO... SELECT 语句来实现。 mysql> INSERT INTO clone_tbl (runoob_id, -> runoob_title, -> runoob_author, -> submission_date) -> SELECT runoob_id,runoob_title, -> runoob_author,submission_date -> FROM runoob_tbl; Query OK, 3 rows affected (0.07 sec) Records: 3 Duplicates: 0 Warnings: 0 执行以上步骤后,你将完整的复制表,包括表结构及表数据。
2018年05月05日
101 阅读
0 评论
0 点赞
2018-05-05
JavaScript 表单验证
JavaScript 表单验证JavaScript 表单验证JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证。表单数据经常需要使用 JavaScript 来验证其正确性: 验证表单数据是否为空? 验证输入是否是一个正确的email地址? 验证日期是否输入正确? 验证表单输入内容是否为数字型? 必填(或必选)项目下面的函数用来检查用户是否已填写表单中的必填(或必选)项目。假如必填或必选项为空,那么警告框会弹出,并且函数的返回值为 false,否则函数的返回值则为 true(意味着数据没有问题):functionvalidateForm(){varx=document.forms["myForm"]["fname"].value;if(x==null||x==""){alert("姓必须填写");returnfalse;}}以上函数在 form 表单提交时被调用:实例<formname="myForm"action="demo-form.php"onsubmit="return validateForm()"method="post">姓:<inputtype="text"name="fname"><inputtype="submit"value="提交"></form>E-mail 验证下面的函数检查输入的数据是否符合电子邮件地址的基本语法。意思就是说,输入的数据必须包含 @ 符号和点号(.)。同时,@ 不可以是邮件地址的首字符,并且 @ 之后需有至少一个点号:functionvalidateForm(){varx=document.forms["myForm"]["email"].value;varatpos=x.indexOf("@");vardotpos=x.lastIndexOf(".");if(atpos<1||dotpos<atpos+2||dotpos+2>=x.length){alert("不是一个有效的 e-mail 地址");returnfalse;}}下面是连同 HTML 表单的完整代码:实例<formname="myForm"action="demo-form.php"onsubmit="return validateForm();"method="post">Email:<inputtype="text"name="email"><inputtype="submit"value="提交"></form>
2018年05月05日
113 阅读
0 评论
0 点赞
2018-05-05
MySQL 处理重复数据
MySQL 处理重复数据有些 MySQL 数据表中可能存在重复的记录,有些情况我们允许重复数据的存在,但有时候我们也需要删除这些重复的数据。本章节我们将为大家介绍如何防止数据表出现重复数据及如何删除数据表中的重复数据。防止表中出现重复数据你可以在MySQL数据表中设置指定的字段为PRIMARY KEY(主键) 或者UNIQUE(唯一)索引来保证数据的唯一性。 让我们尝试一个实例:下表中无索引及主键,所以该表允许出现多条重复记录。 CREATE TABLE person_tbl ( first_name CHAR(20), last_name CHAR(20), sex CHAR(10) ); 如果你想设置表中字段first_name,last_name数据不能重复,你可以设置双主键模式来设置数据的唯一性, 如果你设置了双主键,那么那个键的默认值不能为NULL,可设置为NOT NULL。如下所示: CREATE TABLE person_tbl ( first_name CHAR(20) NOT NULL, last_name CHAR(20) NOT NULL, sex CHAR(10), PRIMARY KEY (last_name, first_name) ); 如果我们设置了唯一索引,那么在插入重复数据时,SQL语句将无法执行成功,并抛出错。INSERT IGNORE INTO与INSERT INTO的区别就是INSERT IGNORE会忽略数据库中已经存在的数据,如果数据库没有数据,就插入新的数据,如果有数据的话就跳过这条数据。这样就可以保留数据库中已经存在数据,达到在间隙中插入数据的目的。以下实例使用了INSERT IGNORE INTO,执行后不会出错,也不会向数据表中插入重复数据: mysql> INSERT IGNORE INTO person_tbl (last_name, first_name) -> VALUES( 'Jay', 'Thomas'); Query OK, 1 row affected (0.00 sec) mysql> INSERT IGNORE INTO person_tbl (last_name, first_name) -> VALUES( 'Jay', 'Thomas'); Query OK, 0 rows affected (0.00 sec) INSERT IGNORE INTO当插入数据时,在设置了记录的唯一性后,如果插入重复数据,将不返回错误,只以警告形式返回。 而REPLACE INTO into如果存在primary 或 unique相同的记录,则先删除掉。再插入新记录。另一种设置数据的唯一性方法是添加一个UNIQUE索引,如下所示: CREATE TABLE person_tbl ( first_name CHAR(20) NOT NULL, last_name CHAR(20) NOT NULL, sex CHAR(10) UNIQUE (last_name, first_name) ); 统计重复数据以下我们将统计表中 first_name 和 last_name的重复记录数: mysql> SELECT COUNT(*) as repetitions, last_name, first_name -> FROM person_tbl -> GROUP BY last_name, first_name -> HAVING repetitions > 1; 以上查询语句将返回 person_tbl 表中重复的记录数。 一般情况下,查询重复的值,请执行以下操作: 确定哪一列包含的值可能会重复。 在列选择列表使用COUNT(*)列出的那些列。 在GROUP BY子句中列出的列。 HAVING子句设置重复数大于1。 过滤重复数据如果你需要读取不重复的数据可以在 SELECT 语句中使用 DISTINCT 关键字来过滤重复数据。 mysql> SELECT DISTINCT last_name, first_name -> FROM person_tbl; 你也可以使用 GROUP BY 来读取数据表中不重复的数据: mysql> SELECT last_name, first_name -> FROM person_tbl -> GROUP BY (last_name, first_name); 删除重复数据如果你想删除数据表中的重复数据,你可以使用以下的SQL语句: mysql> CREATE TABLE tmp SELECT last_name, first_name, sex FROM person_tbl GROUP BY (last_name, first_name, sex); mysql> DROP TABLE person_tbl; mysql> ALTER TABLE tmp RENAME TO person_tbl; 当然你也可以在数据表中添加 INDEX(索引) 和 PRIMAY KEY(主键)这种简单的方法来删除表中的重复记录。方法如下: mysql> ALTER IGNORE TABLE person_tbl -> ADD PRIMARY KEY (last_name, first_name);
2018年05月05日
104 阅读
0 评论
0 点赞
1
2
3
...
8