简单数据库sql语言

创建表格:
create table user(
id int ( 8 ) primary key unique not null auto_increment,
p_name char ( 20 ) unique not null,
p_level int ( 3 ) default 1
)charset=utf8;
关键词:primary key (主键),unique (),not null (不为空),auto_increment (自增长),default (默认值).

删除表:
drop table hehe;

增加列:
alter table lol add lol_type char(10) not null;

删除列:
alter table lol drop lol_type;

添加数据:
insert into t_user(t_name,t_adr) values ("诸葛亮","lovo2");

查询所有数据:
select * from user;

查询去重:
select name distinct from user;

条件查询:
select * from user where id=1;
select name from user where id=1;

多条件查询:
select name from user where name=? and addr=? ;
select name from user where name=? or addr=? ;
select eName from emp where job in("clerk","manager‘");

范围查询:
select name from lol where s_int not between 1000 and 3000 and sex="男";
select name from user where id>10 and id<20;
select * from log_check where data_dt>="2015-04-29" and data_dt<="2015-04-30";

多表查询:
select dname from dept where deptNo in (select deptNo from emp group by deptNo having count(*)>(select count(*) from emp where deptNo=20) );

查询更名:
select p_name as name,p_addr as addr from user;

模糊查询:
select * from t_user where t_name like‘%name%‘;
select * from t_user where t_name like‘%name‘;
select * from t_user where t_name like‘name_‘;

修改数据:
update t_user set name=?,addr=? where id=?;

设置外键:
foreign key ( f_userid ) references t_user( pk_id ) on delete set null;
foreign key ( f_userid ) references t_user( pk_id ) on delete cascade;

分组查询:
select * from emp where sal in ( select max( sal ) from emp group by deptNo ) order by deptNo;

降序查询:
select * from emp order by sal desc;

升序查询:
select * from emp order by sal;

最大最小查询:
select min( hireDate ) as "最早日期" ,max( hireDate ) as "最晚日期" from emp;

求和查询:
select sum( sal ) as "员工工资总和" from emp;

空值查询:
select eName from emp where comm="" or comm is null or comm=0;

统计查询:
select count(dname) from dept where deptNo in(select deptNo from emp);

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。