hi!
无聊啊,无聊啊。。。。
虽然前两天懈怠了,用日本人中二的方式说一句,今天我会好好努力的!!
--------------------11:58-------------------
1、MySQL
---数据类型之字符型
--CHAR(M) VARCHAR(M) TINYTEXT TEXT MEDIUMTEXT LONGTEXT ENUM() SET()
定长 变长 枚举(选择) 集合(任意的排列组合)
---创建数据表
--行称为记录,列称为字段
--数据表组成数据库,所以先处理数据库。
USE TEST;
--创建表格:CREATE TABLE[IF NOT EXISTS] table_name(
column_name data_type, //分隔符为逗号,列数一定要准备好,数据类型已讲,最后一个字段不加逗号
...
)
--注意数据类型的选择,比如不能出现负值,就UNSIGNED
mysql> CREATE TABLE tb1(
-> username VARCHAR(20),
-> age TINYINT UNSIGNED,
-> salary FLOAT(8,2) UNSIGNED);
---查看数据表
--SHOW TABLES;
--SHOW TABLES FROM mysql;查看所有表,注意这里数据库并不会改变
---查看数据表结构
--SHOW COLUMNS FROM table_name;
---记录(行)的插入与查找
--INSERT [INTO] tbl_name [(col_name,...)] VALUES(val,...);//如果省略掉列名,则对所有的列进行赋值,也就是说,所有的value都要有,比如有4列,赋值3个值就不行
--查看记录,SELECT的简化使用:SELECT expr,... FROM tbl_name;
---空值与非空 NULL&NOT NULL
--判断输入是否为空:对字段的设定
--比如年龄这个字段必须输入,非空,在创建字段时应该如此:age TINYINT UNSIGNED NOT NULL
---自动编号AUTO_INCREMENT&主键约束
--避免记录不重复
--起始值为1,步长为1
--自动编号的字段必须是主键
--每张数据表必须只有一个主键,主键自动是NOT NULL,主键不允许存在相同的值
mysql> CREATE TABLE tb3(
-> id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,//这里自动编号和主键在一起~
-> sername VARCHAR(30) NOT NULL);
+---------+----------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+----------------------+------+-----+---------+----------------+
| id | smallint(5) unsigned | NO | PRI | NULL | auto_increment |
| sername | varchar(30) | NO | | NULL | |
+---------+----------------------+------+-----+---------+----------------+
SHOW COLUMNS FROM tb3;
SELECT * FROM tb3;
---初涉唯一约束UNIQUE KEY
--保证唯一性
--可以为空值,也可以有许多空值NULL,不算做重复
--与主键不同,可以在一个表中有多个唯一约束
--username VARCHAR(20) UNIQUE KEY,
---初涉默认约束DEFAULT
--系统默认
--常出现于ENUM类型中
mysql> CREATE TABLE tb4(
-> id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
-> name VARCHAR(20) NOT NULL UNIQUE KEY,
-> gender ENUM('1','2','3') DEFAULT '3');
+--------+----------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+----------------------+------+-----+---------+----------------+
| id | smallint(5) unsigned | NO | PRI | NULL | auto_increment |
| name | varchar(20) | NO | UNI | NULL | |
| gender | enum('1','2','3') | YES | | 3 | |
+--------+----------------------+------+-----+---------+----------------+
2、Javascript入门完结篇
---window对象问题
--即浏览器窗口,不要误解为windows系统的对象
--window.open,window.alert
--计时器Interval——执行多次,或clearInterval
-setInterval(fucntion,time);
-clearInterval(setInterval_var_name);用于停止延时操作
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>计时器</title>
<script type="text/javascript">
function clock(){
var time=new Date();
document.getElementById("clock").value = time;
}
var i=setInterval(clock,100);
</script>
</head>
<body>
<form>
<input type="text" id="clock" size="50" />
<input type="button" value="Stop" onclick="clearInterval(i)"/>
</form>
</body>
</html>
--计时器Timeout
-setTimeout(function_name,time);
-clearTimeout()
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>计时器</title>
</head>
<script type="text/javascript">
var num=0;
var i;
function startCount(){
document.getElementById('count').value=num;
num=num+1;
i=setTimeout("startCount()",1000);
}
function stopCount(){
clearTimeout(i);
}
</script>
</head>
<body>
<form>
<input type="text" id="count" />
<input type="button" value="Start" onclick="startCount()"/>
<input type="button" value="Stop" onclick="stopCount()"/>
</form>
</body>
</html>
--window.history_URL 记录器
-window.history.[属性|方法]
-属性有.length——包含URL条数
-方法有.back().forward().go()
-.back()=.go(-1)
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
</head>
<script type="text/javascript">
function GoBack() {
window.history.go(-1);
}
function GoForward() {
window.history.forward();
}
</script>
</head>
<body>
点击下面的锚点链接,添加历史列表项:
<br />
<a href="#target1">第一个锚点</a>
<a name="target1"></a>
<br />
<a href="#target2">第二个锚点</a>
<a name="target2"></a>
<br /><br />
使用下面按钮,实现返回前或下一个页面:
<form>
<input type="button" value="返回前一个页面" onclick="GoBack();" />
<input type="button" value="返回下一个页面" onclick="GoForward();" />
</form>
</body>
</html>
--location对象_用于获取或设置窗体的URL,并且可以用于解析URL
-location.[]
-属性比较多:host,hostname,hash,href,protocal,port,pathname(4h3p)
-方法:assign(),reload(),replace()
document.write(window.location.href);
--Navigator 对象包含有关浏览器的信息,通常用于检测浏览器与操作系统的版本。
-基本都是属性:appName,appVersion,appCodeName,platform,userAgent
document.write(window.navigator.appName);
--screen对象用于获取用户的屏幕信息。
-属性多是一些height,width
document.write( "屏幕宽度:"+window.screen.width+"<br>");
document.write( "屏幕高度:"+window.screen.height);
---DOM文档对象模型
--文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法。DOM 将HTML文档呈现为带有元素、属性和文本的树结构(节点树)。
--也就是说,对文档结构直接进行操作
--用法等见下文代码及注释
----------------------------------------
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
function getnum(){
var mynode=document.getElementsByName("myt") ; //document.getElementsByName()返回带有指定名称的节点对象的集合
alert(mynode.length);
}
</script>
</head>
<body>
<input name="myt" type="text" value="1">
<input name="myt" type="text" value="2">
<input name="myt" type="text" value="3">
<input name="myt" type="text" value="4">
<input name="myt" type="text" value="5">
<input name="myt" type="text" value="6">
<br />
<input type="button" onclick="getnum()" value="看看有几项?" onclick="getnum()"/>
</body>
</html>
---------------------------------------------------------------
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>JavaScript</title>
</head>
<body>
<form name="Input">
<table align="center" width="500px" height="50%" border="1">
<tr>
<td align="center" width="100px">
学号:
</td>
<td align="center" width="300px">
<input type="text" id=userid name="user" onblur="validate();">
<div id=usermsg></div>
</td>
</tr>
<tr>
<td align="center" width="100px">
姓名:
</td>
<td align="center">
<input type="text" name="name">
</td>
</tr>
<tr>
<td align="center" width="%45">
性别:
</td>
<td align="center">
<input type="radio" name="sex" value="男">
男
<input type="radio" name="sex" value="女">
女
</td>
</tr>
<tr>
<td align="center" width="30%">
年龄:
</td>
<td align="center" width="300px">
<input type="text" name="age">
</td>
</tr>
<tr>
<td align="center" width="100px">
地址:
</td>
<td align="center" width="300px">
<input type="text" name="addr">
</td>
</tr>
</table>
</form>
<h1 id="myHead" onclick="getValue()">
看看三种获取节点的方法?
</h1>
<p>
点击标题弹出它的值。
</p>
<input type="button" onclick="getElements()"
value="看看name为sex的节点有几个?" />
<Br>
<input type="button" onclick="getTagElements()"
value="看看标签名为input的节点有几个?" />
<script type="text/javascript">
function getValue()
{
var myH=document.getElementById("myHead"); //document.getElementById(),document.getElementsByName(),document.getElementsByTagName()
//1. ID 是一个人的身份证号码,是唯一的。所以通过getElementById获取的是指定的一个人。
//2. Name 是他的名字,可以重复。所以通过getElementsByName获取名字相同的人集合。
//3. TagName可看似某类,getElementsByTagName获取相同类的人集合。如获取小孩这类人,getElementsByTagName("小孩")。
alert(myH.innerHTML)
}
function getElements()
{
var mys=document.getElementsByName("sex");
alert(myS.length);
}
function getTagElements()
{
var myI=document.getElementsByTagName('input');
alert(myI.length);
}
</script>
</body>
</html>
3、PHP-面向对象实践
---基本实践
--物以类聚,类,你懂的——相同的属性和方法
--具体化描述类,就是对象。类的对象称为类的一个实例
--类的属性和方法都是类的成员