1,链接数据库
mysql -hlocalhost -uroot -p
Enter password:
2,显示数据库
show databases;
3,使用数据库
use 数据库名;
4,删除数据库
drop database 数据库名
5,create database 数据库名;
数据表:
1,create table 数据表名(
id int(11) unsigned not null auto_increment primary key,
username varchar(20),
...
);
2,drop table 数据表名;
3,alter table 原表名 rename as 新表名;
4,desc 数据表名;
show create table 数据表名;
数据
1,insert into 数据表名(字段列表)values(值列表);
2,删除数据 delete from 数据表名 where 条件;
3,update 数据表名 set 字段1=‘值1‘,字段2=‘值2‘...where 条件;
4,select * from 表名;
数据表设计
1,字段的类型
创建表
create table [if not exists] 数据表名(
字段名 数据类型(长度) unsigned 是否为空 是否自增 索引类型,
字段名 字段类型(长度) [unsigned] 是否为空 [是否自增] 默认值[default value]
)
修改表
alter table 表名 rename as 新表名;
删除表
drop table 表名;
显示所有表
show tables;
2,索引
创建索引
create indexes 索引名称 on 库.表(字段)
alter table 表名 add index 索引名(字段1,字段2..)
在创建表的时候
index 索引名称(字段列表)
删除索引
alter table 表名 drop index 索引名称;
查询一个表上的索引
show indexes from 表名;
3,字段:
添加字段
alter table 表名 add 字段 数据类型(长度) 其他属性 索引类型...
删除字段
alter table 表名 drop 字段名;
修改字段
alter table 表名 modify 字段属性,索引类型...
alter table 表名 change 原字段名 新字段名 字段属性,索引类型...
显示表结构
desc 数据表名;
show create table 数据表名...
1,表数据插入:
1,insert into 表名(字段名...)values(‘值‘...);
/-----------------------------------------------------
2, insert into bbs_usera values(null,‘xiaohong‘,123456,1391231,123,1);值和字段一一对应,一个不能少
3, insert into bbs_user(字段列表)values(值列表1),(值列表2),(值列表3)...
4, insert into 表名 select * from 表名2;
5,insert into 表名(字段名...) select 对应的字段名.. from 表名2;
2,更新操作
update 表名 set 字段名=‘值’ where 条件、
3,显示建表语句
show create table 表名;
4,删除操作:
delete from 表名 where 条件;
5,查询操作
查询所有数据包含所有字段
mysql> select * from bbs_users;
查询username,userpwd所有数据
mysql> select username,userpwd from bbs_users;
查询id=3的数据,数据中只用username和userpwd
mysql> select username,userpwd from bbs_users where id=3;
查询id>0的数据,数据中包含username,userpwd 总共要查1条
mysql> select username,userpwd from bbs_users where id>0 limit 1;
查询id>0的数据,从第二条开始取一条,只包含username,userpwd
mysql> select username,userpwd from bbs_users where id>0 limit 1,1;
//分页limit 偏移量公式 $page:当前页码,$pagesize:每页显示数据条数:$offset=($page-1)*$pagesize
//limit $offset,$pagesize;
从bbs_user查询username字段的数据,过滤掉重名
mysql>select distinct username from bbs_user;
select * from 表1,表2 where 表1.字段 =表2.字段;
As语句的用法
别名:使用as 给表或字段可以起个别名 ,as可以省略。
目的:可以让很长的表名或者字段名变的简洁、
防止表名和字段名重复
1,select u.username as uname,o.username,o.bianhao from bbs_order as o,bbs_users as u where o.username = u.username
2,select u.username uname,o.username, o.bianhao from bbs_order o,bbs_users u where o.username=u.username;
order by用法:
排序查询:将查询到的结果按照指定字段顺序排序,如果第一个字段不能排列出顺序先后,就会按照后一个字段进行排序
select * from 表名 where 条件 order by 字段1 asc|desc,字段2 asc|desc...;
asc 从小到大;顺序
desc 从大到小 ;逆序
and &&
or ||
not
>
<
>=
<=
!=
=
is null
is not null
between n and m;
not between n and m
like % _
% 任意次
_代表一个任意字符
not like
统计:
次数统计
count() count(*) count(字段)
求和
sum()
平均数
avg()
最大值
max()
最小值
min()
版本号
version()
分组:
group by
分组结果再过滤
having:
select sum(money) from bbs_order group by username having id>5;
where 字段 in(值1,值2,值3.。。)
子查询
where username in (select username from 表名 where 条件);
判断操作是否成功:
1,插入操作
mysql_insert_id()>0
2,删除操作
mysql_affected_rows()>0
3,修改操作
mysql_affected_rows()>0
4,select 查询
mysql_num_rows($result)>0
CREATE TABLE `bbs_users` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(20) NOT NULL,
`userpwd` char(32) NOT NULL,
`email` varchar(50) DEFAULT NULL,
`qq` int(11) DEFAULT NULL,
`telno` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8
---------------------------------------------------------
分页:
$page 当前页码
$offset 偏移量
$pagesize=10 每页显示数据条数
第一页
limit 0,10;
第二页
limit 10,10;
第三页
limit 20,10;
$offset = ($page-1)*$pagesize;
select * from bbs_users limit $offset,$pagesize;