Chinaunix首页 | 论坛 | 博客
  • 博客访问: 114755
  • 博文数量: 24
  • 博客积分: 1226
  • 博客等级: 中尉
  • 技术积分: 320
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-11 20:47
文章分类

全部博文(24)

文章存档

2011年(2)

2010年(4)

2009年(5)

2008年(13)

我的朋友

分类: LINUX

2008-10-17 20:17:13

数据库的创建

create database datenbankname;        //创建新的数据库,datenbankname为库名.

查询数据库命令

show databases;        //查询已有的数据库,防止重名.

打开数据库

use datenbankname;        //打开数据库名为datenbankname.

删除数据库

drop database datenbankname;        //删除数据库名为datenbankname

创建数据表

create table table_name(
                        column_name1 type [modifiers],
                        column_name2 type [modifiers],...
                        );
//column列是表中一行数据库的单个单元.

not null 修饰符表示该列不能包含任何null值,简单的说就是不能为空.
        例外:如果该列被定义为auto_increment,则null值将导致一个自动产生的值.
             为列指定了默认值的情况.

删除数据表

drop table table_name;

插入数据

insert into table_name (column1,column2,...columnN)
values (value1,value2,...valueN)


非标准
insert into book set title='the vampire lestan',author='anre rice';

insert into foods (name,fat)
select food_name ,fat_grams from recipes
通过使用其他某个表(或一组表)中的数据填充新表以插入数据.
在这一行语法中,不能包含order by修饰词,也不能从insert出现在其中的表中进行选择.

删除
delete from table_name [where clause]

delete table1,table2,...,tablen
from table1,table2,...,tablen
[where clause]

查询
select colum1,colum2,...,columN
from table1,table2,...,tableN
[where clause]

database()
返回当前数据库的名称.

/////////////////////////////////////////////////////////
 
面试遇到的SQL问题:
简单的表如下:id代表部门编号,name代表部门名,state代表状态(c是说部门名创建,
e代表部门名改变)
+----+------+-------+
| id | name | state |
+----+------+-------+
| 1  | a    | c     |
| 2  | b    | c     |
| 3  | c    | c     |
| 1  | d    | e     |
| 1  | e    | e     |
| 1  | f    | e     |
| 2  | g    | e     |
| 2  | h    | e     |
| 3  | i    | e     |
+----+------+-------+
 
问:请编写sql语句打印出出部门名改变在两次以上的部门编号
文件:top10_mktval.rar
大小:3KB
下载:下载
 
 
 
答:select id from tablename where state='e' group by id
having count(state) > 2
阅读(1079) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~