最近《数据库操作系统原理》进行上机任务,正好把不会的地方整理下来,做个学习记录。
注:使用的是MySQL数据库
1.创建表时声明字符集编码和排序规则
character set utf8 collate utf8_general_ci
create table St1816270245 (
Sno integer(10) primary key not null ,
Sname varchar(255) character set utf8 collate utf8_general_ci not null ,
Ssex varchar(255) character set utf8 collate utf8_general_ci not null ,
Age integer(2) not null ,
Dept varchar(255) character set utf8 collate utf8_general_ci not null
);
2.用一条Insert语句插入多个数据
insert into st1816270245 values
(1001,'小A','男性',21,'计算机'),
(1002,'小B','女性',20,'软件工程'),
(1003,'小C','男性',15,'计算机'),
(1004,'小D','女性',23,'计算机'),
(1005,'小E','女性',19,'软件工程'),
(1006,'小F','女性',22,'计算机'),
(1007,'小G','男性',25,'软件工程'),
(1008,'小H','男性',18,'软件工程'),
(1009,'小I','女性',21,'软件工程'),
(1010,'小J','男性',21,'计算机'),
(1011,'小K','男性',17,'计算机'),
(1012,'小L','女性',23,'软件工程');
3.对查询结果排序
使用ORDER BY 子句
SELECT <列名列表> FROM <表名>
[WHERE 条件]
ORDER BY <字段名1> [ASC|DESC] [ ,字段名2 [ASC|DESC] ] [,…n]
–order by <字段名1> (不写ASC|DESC, 则默认升序ASC)
ASC表示按字段值升序排列 (ascend)
DESC表示按字段降序排列 ( descend )
select * from st1816270245 where Age>=20 and Ssex='女性' order by Age DESC ;
4.建立视图
参考博客:视图的定义和使用
create view V_ST as
select * from st1816270245;
5.SQL函数
6.MySQL触发器
参考内容:mysql之触发器
create trigger t1
after delete on st1816270245
for each row
begin
Delete c1816270245 from st1816270245,c1816270245 where st1816270245.Sno=c1816270245.Sno;
end;