数据库知识点合集

2022-12-18 0 617

1.资料库的句子能分成下列五类:

(1)DDL:Data Define Language 定义统计数据

(2)DML:Data Manipulate Language 操作方式统计数据

(3)DQL:Data Query Language 查阅统计数据

(4)DCL:Data Control Language 掌控使用者职权

2.查阅资料库条目

show databases;

3.建立资料库

create database 统计数据库中文名称;

4.选定资料库(接下去大部份的操作方式都是在该库下继续执行)

use 资料库中文名称;

5.建表句子

create table 表名(

表头1中文名称正则表达式,

表头2中文名称正则表达式

);

6.查阅库上面的大部份表

(1)show tables;(继续执行的大前提是有选定资料库)

(2)show tables from 资料库名

7.查阅表的大部份表头特性

(1)show columns from 表名;

(2)desc 表名;

(3)SELECT

columnname AS 列名,

datatype AS 正则表达式,

columndefault AS 默认值,

columncomment AS 备注

FROM

informationschema.columns

WHERE

tablename=表名 and tableschema =库名;

8.修改表结构,添加表头

alter table 表名 add Hamming正则表达式;

9.修改表结构,添加表头B到表头A之后

alter table 表名 add 表头B名正则表达式 after 表头A名;

10.修改表结构,仅修改Hamming或者仅修改表头特性或者两者都修改

alter table 表名 change 待修改Hamming修改后的Hamming修改后的表头特性;

11.建表设置非空约束句子(如果不插入非空表头,会提示报错)

create table 表名(

表头1中文名称正则表达式 not null,

表头2中文名称正则表达式

);

12.建表设置默认值(在不设置默认值的情况下,大部份表头默认是空(null))

create table 表名(

表头1中文名称正则表达式 default 默认值,

表头2中文名称正则表达式

);

13.修改表表头的默认值

ALTER TABLE 表名 ALTER Hamming SET DEFAULT 默认值

14.删除表头默认值

(1)ALTER TABLE 表名 ALTER Hamming SET DEFAULT null;(注意表头非空特性时,不能设置null默认值)

(2)ALTER TABLE 表名 ALTER Hamming DROP DEFAULT;

15.修改表表头约束(能是多个)

alter table 表名 modify 原Hamming原表头特性约束1约束2…;

16.非空表头设置为允许为空

alter table 表名 modify 原Hamming原表头特性 null;

17.添加unique特性(当设置多个表头唯一值约束时,是由这些表头作为一个整体来验证唯一性)

CREATE TABLE 表名(

Hamming1正则表达式1,

Hamming2正则表达式2,

CONSTRAINT 约束名 UNIQUE (表头1,表头2,…)

);

ALTER TABLE 表名

ADD CONSTRAINT 约束名 UNIQUE (表头1,表头2…)

18.删除unique特性(如果建立UNIQUE时没有设置约束,需要通过脚本查阅系统默认设置的约束名来操作方式)

ALTER TABLE 表名 DROP INDEX 约束名

19.设置主键(能是一个表头作为主键,也能是多个表头作为联合主键)

create table 表名(

表头1中文名称正则表达式 not null,

表头2中文名称正则表达式

primary key(主键表头1中文名称,主键表头2中文名称…)

);

ALTER TABLE 表名 ADD PRIMARY KEY (主键表头1中文名称,主键表头2中文名称…);

20.设置备注

(1)建立备注

create table 表名(

表头1中文名称正则表达式 comment 备注信息,

表头2中文名称正则表达式

);

(2)修改备注

alter table 表名 modify 原Hamming原表头特性 comment 备注信息;

21.添加外键约束(注意外键依赖表头必须是该表主键,外键两表头类型必须完全一致,编码字符集必须一致)

CREATE TABLE 表名(

表头一表头类型,

表头二表头类型,

CONSTRAINT 外键约束中文名称 FOREIGN KEY (外键表头) REFERENCES 外键依赖表(外键依赖表头)

)

ALTER TABLE 表名

ADD CONSTRAINT 外键约束中文名称 FOREIGN KEY (外键表头) REFERENCES 外键依赖表(外键依赖表头);

ALTER TABLE 表名 DROP foreign key 外键约束中文名称;

22.添加索引

CREATE INDEX 索引中文名称 ON 表名(索引表头1,索引表头2…)

1.添加统计数据

INSERT INTO 表名(表头1,表头2,表头3,…) VALUES (值1,值2,值3,…);

添加多组统计数据

INSERT INTO 表名(表头1,表头2,表头3,…) VALUES (值1,值2,值3,…),(值1,值2,值3,…),(值1,值2,值3,…);

插入查阅结果集

INSERT INTO 表1(表头1,表头2,…) SELECT (表头1,字段2,…) FROM 表2;

2.更新统计数据

UPDATE 表名 SET 表头1=值1,表头2=值2,… WHERE 条件;

3.删除统计数据

delete from 表名 where 条件;

一、简单单表查询

1.where条件实际是一个条件表达式

2.表达式常用运算符=、<>(不等于,!=)、>、<、>=、<=

3.in 选定多个值,后跟数组(数组用圆括号,其中多组值逗号隔开)

where 表头 in (值1,值2)

示例:select * from student where id in (1,2);

in对应的是数组,能嵌套查阅sql子集

示例:select * from student where id in (select id from test);

4.between

BETWEEN 操作方式符选取介于两个值之间的统计数据范围内的值。能表示数字和时间,包括边界值

select * from student where id between 5 and 7;

select * from schedule where date between 2020=09-2123:00:00 and 2020-09-2218:00:00;

5.and运算符(并且的逻辑关系,多个同时满足条件用and相连)

示例:select * from student where name =lifang or sex =M;

6.or运算符(或者的逻辑关系,用or相连)

示例:select * from student where id =1 or id =2;

7.not(对立面)

示例:select * from student where id not in (1,2);

select * from schedule where date not between 2020=09-2123:00:00 and 2020-09-2218:00:00;

8.like 模糊查阅

(1)%替代0 个或多个字符

like %关键字%包含关键字的大部份结果集

like %关键字关键字在末位

like 关键字%关键字在首位

(2)替代一个字符(中文要占两个字节)

关键字表示关键字在第二位

9.null作为条件

is null 为空

is not null不为空

10.别名

通过as的方式选定列头信息

11.order by

排序关键字:asc升序,desc降序

如果order by 表头1排序关键字1,表头2排序关键字2

其意味着表头1为主排序表头

12. limit

limit a,b a代表起始统计数据的序号,b代表从起始统计数据开始显示多少条统计数据

例如:limit 0,4显示前四条统计数据 limit 2,3显示第3条到第5条统计数据

limit b是limit 0,b简写

13.distinct

DISTINCT 关键词用于返回唯一不同的值

二、联合查阅

left join 左联以left join 左侧表为主表(主表表头完整显示,副表作为扩展信息补充(可能为null))

right join 右联以right join 右侧表为主表(主表表头完整显示,副表作为扩展信息补充(可能为null))

inner join 内联两表取交集

两表联合查阅

select A.表头,B.表头 from A left join B on A.关联表头=B.关联表头 where 条件;

select A.表头,B.表头 from A inner join B on A.关联表头=B.关联表头 where 条件;

select A.表头,B.表头 from A right join B on A.关联表头=B.关联表头 where 条件;

多表联合查阅

left join b on b.关联表头=a.关联表头能通过on中的两个表判断对应主表是谁,不需要连在一起写

样例:

select

route.RouteId ,

a1.airportName as DepartureAirportName,

c1.CityName as DepartureCityName,

country1.CountryName as DepartureCountryName,

a2.AirportName as ArrivalAirportName,

c2.CityName as ArrivalCityName,

country2.CountryName as ArrivalCountryName

from

route

left join airport as a1 on a1.IATACode=route.DepartureAirportIATA

left join airport as a2 on a2.IATACode = route.ArrivalAirportIATA

left join city as c1 on a1.CityCode = c1.CityCode

left join city as c2 on c2.cityCode = a2.CityCode

left join country as country1 on country1.CountryCode = c1.CountryCode

left join country as country2 on country2.CountryCode = c2.CountryCode

left join city as c2 on c2.cityCode = a2.CityCode 它的主表是a2,但是他们没有连在一起写

三、MySQL函数

count

sum

avg

max

min

GROUPCONCAT

TIMESTAMPDIFF

DATEDIFF

DATEADD

NOW

CURDATE

CURTIME

四、统计分组

group by

having

五、exists

两者等价

select * from student where not EXISTS (select 1 from sc WHERE sc.Sno=student.Sno);

select * from student where student.sno not in (select sc.sno from sc);

数据库知识点合集

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务