数据库常用SQL语句

查看有哪些数据库

show databases

创建数据库

create database Testdb;

创建一个名为Testdb的数据库

创建数据库并指定编码格式

有的时候,为了防止出现中文乱码,创建数据库的时候需要指定编码格式

create database mydb character set utf8mb4;

使用某个数据库

use mydb;

使用mydb这个数据库,或者进入mydb这个数据库

删除数据库

drop database Testdb;

删除Testdb这个数据库

进入某个数据库之后,想查看有哪些数据表,SQL语句为’

use mydb;
show tables;

mydb是一个新建的数据库,所以自然是没有数据表

创建数据表

建表SQL语句格式为:

create table <tablename>{
<字段名称><数据类型>,
<字段名称><数据类型>,
<字段名称><数据类型>,
<字段名称><数据类型>,
.....
};

说明:每个字段以逗号分隔,最后一个字段不加逗号

例如,给定一个学员信息表,如下表所示

ID

NAME

SEX

BIRTHDATE

AGE

CITY

20161001

Smith

male

4.15

19

Beijing

20161002

Jones

male

6.12

19

Shanghai

20161003

Danny

male

3.14

18

Nanjing

20161004

Jack

male

7.18

17

Suzhou

20161005

Tom

male

9.10

16

Hangzhou

20161010

Lily

female

3.12

18

Hainan

20161015

Jenny

female

4.18

17

Xinjiang

根据以上表格,创建SQL语句如下

create table stuInfo{
stuid int unsigned primary key,
stuname varchar(10) nor null,
gender varchar(5),
birthdate date,
age int(3),
city varchar(20)
}

查看表结构

查看表结构的SQL命令为:

describe stuinfo;

执行该命令会显示stuinfo的基本结构,例如有哪些字段,每个字段是什么类型,谁是主键等。

修改数据库

修改数据库通过drop字句进行,比如,建完表后,想增加一个字段,SQL语句的格式为:

alter table <tablename> add <column>varchar(20);

想在指定的位置增加一个字段,例如,在某个字段后增加一个字段,SQL语句的格式为:

alter table<tablename>add <column>varchar(20)after <colunm>;

如果在某个字段之前增加字段,用before即可。

例如,在字段age后增加一个字段major(专业),SQL语句为:

alter stuinfo add<major>varchar(20)ater age;

执行这个命令,再通过describe查看表的结构,会发现表中多了一个字段major.

如果要删除major这个字段,通过drop子句,SQL语句为:

alter table stuinfo drop major;

数据库命令大全

1、说明:创建数据库

CREATE DATABASEdatabase-name

2、说明:删除数据库

drop database dbname

3、说明:备份sql server

— 创建 备份数据的 device

USE master

EXEC sp_addumpdevice’disk’, ‘testBack’, ‘c:\mssql7backup\MyNwind_1.dat’

— 开始 备份

BACKUP DATABASE pubs TO testBack

4、说明:创建新表

create table tabname(col1type1 [not null] [primary key],col2 type2 [not null],…)

根据已有的表创建新表:

A:create table tab_new like tab_old (使用旧表创建新表)

B:create table tab_new as select col1,col2…from tab_old definition only

5、说明:删除新表

drop table tabname

6、说明:增加一个列

Alter table tabname addcolumn col type

注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。

7、说明:添加主键: Alter table tabname add primary key(col)

说明:删除主键: Alter tabletabname drop primary key(col)

8、说明:创建索引:create [unique] index idxname on tabname(col….)

删除索引:drop index idxname

注:索引是不可更改的,想更改必须删除重新建。

9、说明:创建视图:create view viewname as select statement

删除视图:drop view viewname

10、说明:几个简单的基本的sql语句

选择:select * from table1where 范围

插入:insert into table1(field1,field2)values(value1,value2)

删除:delete from table1where 范围

更新:update table1 setfield1=value1 where 范围

查找:select * from table1where field1 like ’%value1%’—like的语法很精妙,查资料!

排序:select * from table1order by field1,field2 [desc]

总数:select count astotalcount from table1

求和:select sum(field1) assumvalue from table1

平均:select avg(field1) asavgvalue from table1

最大:select max(field1) asmaxvalue from table1

最小:select min(field1) asminvalue from table1

11、说明:几个高级查询运算词

A: UNION 运算符

UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。

B: EXCEPT 运算符

EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时(EXCEPT ALL),不消除重复行。

C: INTERSECT 运算符

INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。

注:使用运算词的几个查询结果行必须是一致的。