数据库基础命令

一、基本建表命令

首先输入show databases; 查看所有数据库


选择数据库use 数据库名;

然后你就可以在这个数据库上做一些你喜欢做的事情了=_=。

 

例如:查看数据库test中的关系;

 

1、  建表

create table 表名(

         属性名1 属性类型,

          属性名2 属性类型

   );

 

2、  描述关系R的属性

desc R;

 

3、  删除关系R

drop table R;

 

4、  给关系R添加和删除属性phone

Alter table R add phone Char(11);

Alter table R drop phone;


5、  添加默认值

在相应的属性后面加上default 默认值

Alter table R add phone char(11) default ‘unlisted’;


6、  主键、外键和约束

略,知识点略多,需要的时候可以直接查

 

 

二、查询语句

基本格式:Select *或者属性列表

                    From 关系

                    Where 条件


1、  连接符 ’||’

‘foo’||’bar’等价于’foobar’,在sql中字符串是用单引号实现的。


2、  字符串模式匹配

s like p ,p是模式

(1)‘_’ 表示任意一个字符

(2)‘%’ 表示任意字符

例如:where title like ‘%’’s%’;  表示标题中有格式 ’s的电影,其中,两个连续的单引号表示一个单引号,而不是字符串的结束符。


3、  转义字符escape

s like ‘x%%x%’ escape  ‘x’;

表示x后面的%或者_都表示本身的字符,所以这个命令是查询以%开头和结尾的所有字符串。


4、  日期和时间

日期 Date ‘1948-05-14’;

时间 Time ’15:00:02.5’;

组合Timestamp ‘1948-05-14 12:00:00’; 

      

5、  输出排序order by

order by位于where子句和任何其它子句之后,默认为升序(ASC),改成降序可以加上保留字DESC。

例如:select *

           From R

          Order by A+B desc;


6、  条件表达式

(1)    Exists R,当且仅当R非空时为真

(2)    s IN R为真,当且仅当s等于R中的某一个值。

(3)    s > ALL R为真,当且仅当s大于R中的任何一个值。>可以换成五个比较符中的任意一个。

(4)    s > ANY R为真,当且仅当s至少大于R中的某个值。


7、  连接表达式

(1)    交叉连接(笛卡尔积):R1 cross join R2;

(2)    θ连接:R1 join R2 on where <条件>;

(3)    自然连接:R1 natural join R2;

(4)    外连接:R1 natural full/right/left join R2;


8、  聚集操作符

Sum(求和),avg(求平均),min(求最小值),max(求最大值),求个数(count);

例如:select avg(netWorth)

            select count(*) from R;


9、  消除重复

在想消除的属性前面加上distinct

例如select distinct name;

selectcount(distinct starName) from R;


10、分组

在where后面加上group by 条件可以根据条件先进行分组。在分组中可以通过having 语句来筛选分组之后需要的组。

例如:选择在1930年之前做过电影的制片人制作的所有电影的总长度。

select name,sum(length)

from MovieExec, Movie

where producer = cert

group by name

having min(year) < 1930;

 

 

三、数据库更新

1、  插入

(1)    插入单一数据:

Insert into R(A1,A2,…,An) values(v1,v2,…,vn);

(2)    导入数据,以’,’隔开,’\r\n’分行:

load data infile 'E:\\数据库-本科\\first_data\\data_employees.txt'into table 关系名 fields terminated by ',' lines terminated by '\r\n';


2、  删除

Delete from R where <条件>;


3、  更新

Update R set <新值赋值> where <条件>;

例如:把满足条件的名字前面加上pres

  update MovieExec

   Set name =’pres’||name

   Where cert# in (select presC# fromstudio);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值