--常用Sql
- 说明:创建数据库
CREATE DATABASE database-name; - 说明:删除数据库
DROP DATABASE database-name; - 说明:创建新表
create table depart (dept_id int(11) NOT NULL AUTO_INCREMENT,
dept_name varchar(255) DEFAULT NULL, PRIMARY KEY (dept_id));
根据已有的表创建新表:
create table tab_new like tab_old (使用旧表B创建新表A)
备注:此种方式在将表B复制到A时候会将表B完整的字段结构和索引复制到表A中来
create table tab_new as select col1,col2… from tab_old definition only
备注:此种方式只会将表B的字段结构复制到表A中来,但不会复制表B中的索引到表A中来。这种方式比较灵活可以在复制原表表结构的同时指定要复制哪些字段,并且自身复制表也可以根据需要增加字段结构。
create table as select 会将原表中的数据完整复制一份,但表结构中的索引会丢失。
create table like 只会完整复制原表的建表语句,但不会复制数据。 - 说明:删除新表
drop table tabname; - 说明:增加一个列
alter table tabname add column column_name type - 说明:添加主键: Alter table tabname add primary key(col)
说明:删除主键: Alter table tabname drop primary key
一个数据表只可以有一个主键,所以不存在删除某一列的主键. - 说明:创建索引:create [unique] index idxname on tabname(col….)
删除索引:drop index idxname
注:索引是不可更改的,想更改必须删除重新建。 - 说明:创建视图:create view viewname as select statement
删除视图:drop view viewname - 说明:几个简单的基本的sql语句
选择:select * from table1 where 范围
插入:insert into table1(field1,field2) values(value1,value2)
删除:delete from table1 where 范围
更新:update table1 set field1=value1 where 范围
查找:select * from table1 where field1 like ’%value1%’ —like的语法很精妙,查资料!
排序:select * from table1 order by field1,field2 [desc]
desc:降序,asc:升序
总数:select count as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1 - 分组:Group by:
一张表,一旦分组完成后,查询后只能得到组相关的信息。
组相关的信息:(统计信息) count,sum,max,min,avg 分组的标准)
- 说明:between的用法,between限制查询数据范围时包括了边界值,not between不包括
select * from table1 where time between time1 and time2
select a,b,c, from table1 where a not between 数值1 and 数值2 - 说明:in 的使用方法
select * from table1 where a [not] in (‘值1’,’值2’,’值4’,’值6’)