標籤:des os 使用 io ar 資料 amp sp on
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;
mysql 常用的命名一