数据库的创建
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
阅读(1119) | 评论(0) | 转发(0) |