mysql 小总

1.create database dbname;
2.use dbname;
3.create table tablename (columns)
not null的意思是表中所有行的此属性必须有一个值。如果没有指定,该列可以为空。

auto_increment 自动产生一个唯一的标识符值。
primary key 表示该列是表的主键。本列中的输入必须唯一。
unsigned 意思是它只能是0或者一个正数。
float(6,2)订单总金额(宽6位),小数位数到美分(2位)

low_priority 关键字意味着当数据不是从表格读出时,系统必须等待并且稍后再插入。
delayed关键字意味着出入的数据将为缓存。


insert into customers (name,address, city) values
('melissa jones', 'shangqiu' ,'nar nar goon north');

insert into customers
set name = 'michael archer',
address = '12 adderley avenjue',
city = 'leeton';

二、获取数据
select name, city from customers; //指定列查询
select * from customers; //查询所有
select * from customers where customerid = 3;//条件查询
select * from customers where customerid = 3 or customerid = 4;
a.多表查询(关联)
select orders.orderid, orders.amount, orders.data from customers,
orders where customers.name = 'julie smith'
and customers.customerid = orders.customerid;

表之间的逗号等价于输入inner join或cross join。这是一种关联,有时也称为完全关联
或表的笛卡尔乘积。(其意思,将多个表列出来,形成一个大表。)
b.排序
order by asc desc
c.分组与合计数据
select customerid ,avg(amount) from orders
group by customerid having avg(amount) >50;
d.选择要返回的行
limit 2,3 从2行开始 返回3行
e.使用子查询

update customers
set address = '250 olsend road'
where customerid = 4;

删除
delete from customers where customerid = 5;
drop table table;
drop database database;

数据库的优化
1.尽量避免使用可变长度列(像varchar、text、和blob)。如果字段长度固定,它们用起来更快,但是
要占用多一点的空间。
2.

posted @ 2012-10-09 11:43  为了这有限的生命  阅读(174)  评论(0编辑  收藏  举报