PHP学习 mysql
数据类型种类
整形:可以有十进制和十六进制表示
符点形:浮点数由一个数字加一个小数点再加上一个数字组成。两个数字序列不能同时为空。
字符串:由单引号或者双引号括起来的字符或者数字,字符串中要用转义字符才能表示的特殊符号。
日期和时间的值:列如 2005-05-30 12:30:25 日期是按年-月-日
NUUL值:是一种无类型的值,表示“空,什么也没有”。
________________________________________________________________________________
mysql -h主机名 -u用户名 -p密码 //mysql登陆运行命令
DML数据操作语言
select 查询 select 字段名,字段名, ... (*) from 表名 where 子句
查询 select 字段名,字段名, ... (*) from 表名 where 子句 单价》500 的 limit 3 前3条
select *from kehu,yewuyuan where ye_id=ke_id;查询所属业务员客户的ID
insert 插入 insert into badwolf (bad_id,bad_name) values(3,'badbird'); 插入
update 修改 update badwolf(表名) set bad_name(列名)='badwolf';
updata badwolf(表名) set bad_name列名='alex'值 where bad_name='badbird';
delete 删除 delete from badwolf(表明) where bad_id=2;
DCL数据控制语言
grant 控制存取许可
revoke 存取权限
ddl数据定义语言
create table 创建数据表 create table 库名;
drop table 数据库对象
alter table 定义其列
mysql输入一个语句结尾时,末尾要有;号。->意为本语句没有输完 等待继续输入。\c用来取消输入。
/////////////////////////////////////////////////////////////////////////
数值类型
TINYTIN 非常小的整数 BIGINT 大整数
SMALLINT 较小的整数 FLOAT 单精度浮点数
MEDIUMINT 中等大小的整数 DOUBLE 双精度浮点数
INT 标准整数 DECIMAL 一个串的浮点数
CHAR 定长字符串 VARCHAR可变长字符串
TINYBLOB 非常小的BLOB BLOB 小BLOB
MEDIUMBLOB 中等BOLB LONGBLOB 大BLOB
TINYTEXT 非常小的文本串 TEXT 小文本串
MEDIUMTEXT 中等文本 LONGTEXT 大文本串
ENUM 枚举:列可赋予某个枚举成员
SET 集合:列可赋予多个集合成员
auto_increment 自动标识列
对于想使用此属性的列应该定义为NOT NULL,并定义为PRIMARY KEY 或者定义为UNIQUE键。
unsigned无符号,此属性禁用负值,是将数值的取值范围从零开始,即前移了取值范围而已.
///////////////////////////////////////////////////////////////////////////////////
创建数据库
create database 库名; 创建一个指定名称的数据库
例如:create database book; 创建了一个名为book的数据库
show database 列出服务器中可用的的数据库
show table 显示数据库的清单
use 库名 选择使用数据库 例如:use book;
not null 非空 primary key 主键 auto_increment 自增
常见的完整性约束
primary key 主码约束(主键) 主码就是主关键字,能唯一标示字段属性
unique 唯一约束 在一个字段或者一组字段里数据与表中其它行的数据相比是唯一的
not null 非空值约束
auto_increment 整数列自增1
default_value 默认值约束
显示结构操作
database 表名
desc 表名
删除数据库或表操作
drop table 表名 删除表 drop table if exists badbird;加if exists 删除不存在表名不会出错
drop database 库名 删除库 同上加if exists不会出错
////////////////////////////////////////////////////////////
更改表结构操作
语法:alter table 表名 action;
说明:action 可以是如下语句:
add 列名 <建表语句> [first | after 列名]
add primary key (列名)为表添加一个主键,如果主键已经存在,则出现错误
alter 列名 set default 默认值 可以更改指定列默认值
----------------------------------------------------------
later table 表名 add 插如列的名 varchar(属性) first(之前)|after(之后) 增加列名
change 旧列名 新列名 <建表语句> [first | after 列名]
可以更改列类型和列名称,如果原列的名字和新列的名字相同,则change和modify的作用相同
-----------------------------------------------------------
modify 列名 <建表语句> [first | after 列名]
更改列属性:alter table badbird(表名) badtitle(列) modif varchar(属性);
更改列名:alter table badbird(表名) change badtitle(列) bad_sad(改的名) varchar(属性) not null(no 空);
drop 列名 //可以删除一列
drop primary key //可以删除主键
drop index index_name; //可以删除索引
删除列:alter table badbird(表名) drop badtitle;
rename as 新表名 //可以将表名更改
更改表名:alter table badbird(表名) rename badwolf(表名);
插入记录操作
语法:
insert into 表名(字段名,字段名, ... ) values(字段值,字段值,...);
例如:insert into badwolf (bad_id,bad_name) values(3,'badbird'); 插入
如果表名后面没写字段名,则默认是向所有的字段添加值,另外字符串值应该用‘ '或“ ”引号括起来
多条添加:insert into badwolf values(1,'badbird'),(2,'badbird'),(4,'badbird');
更改记录操作
语法:
update 表名 set 列名=数据值 where 子句;
例如:update badwolf(表名) set bad_name(列名)='badwolf';
------------------------------------------------------------------
where 子句是判断语句,用来设定条件,限制只更新匹配的行,如果不带where子句,则更新所有行数据
删除记录操作 语法: delete from 表名 where子句;
例如:delete from badwolf(表明) where bad_id=2; 判断删除所有id=2的值 判断条件可以附加
null和not null
缺省为null(空)即插入值时没有在此字段插入值,默认为NULL值.
如果指定了NOT NULL,则必须在插入值时在此字段添入值,不允许插入NULL值。
default 通过此属性来指定缺省值,如果没有添加值则默认此值。
zerofill 前导零填充数值类型以达到列的显示宽度。
例如:create table badbird(
bad int,
bad unsigned,(无符号,将数值的取值范围从零开始)
bad unsigned zerofill,(无符号,将数值的取值范围从零开始|前导零填充数值类型以达到列的显示宽度)
bad unsigned zerofill,(无符号,将数值的取值范围从零开始|前导零填充数值类型以达到列的显示宽度)
);
insert into badbird values(10,10,10,10);
结果:10,10,0000000010,0000000010。 整形获取值为10,从零开始获取也是10,从零开始以0做填充
insetr into badbird values(-10,-10,-10,-10);
结果:-10,0,0000000000,0000000000。整形获取值为10,从零开始,从零开始以0做填充
insert into badbird values(2147483647,2147483647,2147483647,2147483647)
结果:2147483647,2147483647,2147483647,2147483647。整形获取值为10,从零开始获取也是10,从零开始以0做填充 无填充
insert into badbird values(3004005006,3004005006,3004005006,3004005006);
结果:2147483647,3004005006,3004005006,3004005006。int标准整形最大值
字符串列类型的属性
binary
使用此属性可以使列值作为二进制串处理,即比较和排序时区分大小写。
NOT 和NOT NULL
同数值型功能相同
default
同数值型功能相同
日期和时间列表
date YYYY-MM-DD 格式表示日期值 3字节
time hh:mm:ss 格式表示时间值 3字节
datetime 时间-日期 8字节
timestamp 时间戳 4字节 时间戳=mysql的时间戳是1970年到至今的豪秒数
tyar YYYY年份 1字节
now() 函数自动获取本地时间
mysql算术运算符
+加 -减 -负 *乘 /除 %取余
如果第一位是数字的字符串被用于一个算数运算中,那么它被转换为这个数字的值。
如果一个包含字符和数字混合的字符串不能被正确的转换为数字,那么它被转换成0。
mysql比较运算符
and 并且
or 或
= 两个操作数相等 为true
!=|<> 两个操作数不等 为true
< <= > >= 不用解释你要不知道我也没办法
in 如果a为b1,b2中的任何一个 为true
between 如果A的值 在b1与b2之间包括等于b1b2 为true b1必须比b2大
like 模式匹对 如果a匹对b 为true
notlike 模式匹对 如果a不匹对b 为true
regexp 同like
not regexp 同notlike
<=> a<=>b 如果两者操作数相同 即使null 为true
is null 如果操作数为null 为true
is not null 如果操作数不为空 为true
再次声明mysql不区分大小写
%号表示以A开头 任意后缀结尾
_号表示A开头 后缀任意字
查询记录操作
语法:
select 字段名,字段名, ... (*) from 表名 where 子句 group by子句having子句 order by子句 limit子句 desc(asc)
group by子句是对匹配where子句的查询结果进行分组
having子句是对分组后的结果进行条件限制
order by子句是对查询结果结果进行排序,后面跟desc或asc。
limit子句是对查询的显示结果限制数目
desc是将最终结果进行降序排列,asc是将最终结果进行升序。
例如:select * from badbird(表名) where fi=10条件;