A-A+

mysql数据库查询,检索,优化

2008年11月29日 未分类 暂无评论 阅读 1 次

1:创建索引:索引可以提高查询速度,但影响插入数据的速度,但前者带来的好处要远远高于后者:)

CREATE TABLE Products(pid INTEGER AUTO_INCRMENT PRIMARY KEY,user_name VARCHAR(50) NOT NULL,full_name VARCHAR(100),user_email VARCHAR(150) NOT NULL,birthdate DATE,INDEX (user_name));

//新增

CREATE INDEX index_name ON tableName (columns);

2:外键

CREATE TABLE forums(form_id INTEGER AUTO_INCREMENT PRIMARY KEY,name VARCHAR(50) NOT NULL,description VARCHAR(200),owner_id INTEGER,FOREIGN KEY (owner_id) REFERENCES Users (user_id)) ENGINE = InnoDB; //最后是mysql的一种存储引擎

//新增

FOREIGN KEY (my_field) REFERENCES parent_tbl (field);

如果增加外键当删除数据的时候就会出现约束,这样我们可以修改FOREIGN KEY 约束,让它执行级联删除(casading delete).当附表(forums)种的记录被删除时,字表种外键引用被设置为刚被删除的父表记录页被删除

FOREIGN KEY (forum_id) REFERENCES forums (forum_id) ON DELETE CASADE;

3:删除数据库和表

DROP DATABASE databaseName;

DROP TABLE tableName;

4:关联查询

SELECT title,date_posted,Users.user_name FROM messages INNER JOIN Users ON messages.author_id = User.user_id WHERE messages.forum_id = 1;

左外关联:left outer join

右外关联:right outer join

5:以字母a开头的25个用户名,现实第4页

select user_name,full_name,birthdate from users where user_name like 'a%' limit 75,25;

6:获得唯一值

SELECT DISTINCT forum_id FROM messages;

7:SUM,GROUP BY COUNT

给我留言

Copyright © 浩然东方 保留所有权利.   Theme  Ality 07032740

用户登录