php4

Author Avatar
lixuebing 9月 20, 2016

mySQL的四类主要语句

先来了解一下基础知识吧

MySQL数据类型分为五种--字符型、文本型、数值型、逻辑型、日期型

1. 字符型

VARCHAR

VARCHAR,CHAR都是用来储存字符串长度小于255的字符。但是对于CHAR类型,字符串的后面会被附加多余的空格。而使用VARCHAR就不会出现数据中有多余的空格的情况VARCHAR型字段的另一个突出的好处是它可以比CHAR型字段占用更少的内存和硬盘空间。当你的数据库很大时,这种内存和磁盘空间的节省会变得非常重要。

2.文本型

TEXT

使用文本型数据,你可以存放超过二十亿个字符的字符串。

当你需要存储大串的字符时,应该使用文本型数据。注意文本型数据没有长度,一个文本型字段中的数据通常要么为空,要么很大。

当你从HTML form的多行文本编辑框(TEXTAREA)中收集数据时,你应该把收集的信息存储于文本型字段中。

文本型字段既大且慢,滥用文本型字段会使服务器速度变慢。文本型字段还会吃掉大量的磁盘空间。一旦你向文本型字段中输入了任何数据(甚至是空值),就会有2K的空间被自动分配给该数据。除非删除该记录,否则你无法收回这部分存储空间。

3. 数值型

SQL支持许多种不同的数值型数据。你可以存储整数 INT 、小数 NUMERIC、和钱数 MONEY。

INT VS SMALLINT VS TINYINT

他们的区别只是字符长度:

INT型数据的表数范围是从-2,147,483,647到2,147,483,647的整数

SMALLINT 型数据可以存储从-32768到32768的整数

TINYINT 型的字段只能存储从0到255的整数,不能用来储存负数

MONEY VS SMALLMONEY

4. 逻辑型

BIT

如果你使用复选框( CHECKBOX)从网页中搜集信息,你可以把此信息存储在BIT型字段中。BIT型字段只能取两个值:0或1。

当然,在你创建好一个表之后,你不能向表中添加 BIT型字段。如果你打算在一个表中包含BIT型字段,你必须在创建表时完成。

5. 日期型

DATETIME SMALLDATETIME

一个 DATETIME型的字段可以存储的日期范围是从1753年1月1日第一毫秒到9999年12月31日最后一毫秒。

一个SMALLDATETIME型的字段能够存储从1900年1月1日到2079年6月6日的日期,它只能精确到秒。    
DATETIME型字段在你输入日期和时间之前并不包含实际的数据。

如果你需要覆盖范围的日期和时间很小,可以使用SMALLDATETIME型数据,但是表示的日期和时间范围比DATETIME型数据小,且没有DATETIME型数据精确。    

1.增加语句

INSERT INTO 表的名字(字段一,字段二,字段三) VALUES ("值一","值二","值三");

假如这里新建一个数据库,并命名一个名称为users的数据库,并设置

2.删除语句

DELETE FROM 表的名字 WHERE username="li";

DELETE FROM 表的名字 AND username="li";

DELETE FROM 表的名字 OR username="li";

DELETE FROM 表的名字 NOT username="li";

DELETE FROM 表的名字 IN username="li";

3.查询

SELECT 字段 FROM 表名称 WHERE 条件语句(username="li" AND id>2);

SELECT * FROM 表名称 WHERE 条件语句(username="li" AND id>2);*代表所有字段

LIKE关键字查询

SELECT*FROM users WHERE username LIKE "小%" AND age="19"

SELECT * FROM users ORDER BY id DESC; 代表查询之后按照id倒序排列

SELECT * FROM users ORDER BY id ASC; 代表查询之后按照id正序排列

在实际中用到最多的,就是分页数据查询,在中间开始查询的时候,我们可以借助LIMIT语句

SELECT * FROM users LIMIT 2,5

在这里的第一个参数表示从第二条数据开始查,第二个参数表示查询几条数据

SELECT 字段 FROM 表头 WHERE 条件语句(username="li" AND id>2);

这段表示查询用户姓名为li的且id标志大于2的数据

如何统计这些查询到的数据呢,我们可以借助COUNT

SELECT COUNT (*)FROM users WHERE id>5

可以统计查询到的id>5的有几条数据

在几个数据表中,如何才能连表查询

SELECT * FROM 表名1 JOIN 表名2 ON 条件

JOIN可以扩充,分左边和右边,以某个表为主表

4.修改数据

DELETE FROM 表名 WHERE username="li" AND age=18 OR fun=music;