数据库总结

时间:2019-03-12
本文章向大家介绍数据库总结,主要包括数据库总结使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

数据定义语言DDL,数据查询语言DQL,数据操作语言DML,数据控制语言DCL
创建数据库:create database 数据库名;
查看数据库:show databases;
删库:drop database 数据库名;
创建表:
create table 表名(
列名 数据类型 约束,
列名 数据类型 约束
);
例如create table xxx (age varchar(10),name varchar(20));
数据类型 int,(0,4294967295),tinyint(0,255)(-128,127)
Float 7位小数,Double 15位小数
char 字符型,(0 - 255),varchar(0-65535)
查看数据库表show tables;
删表drop table 表;
复制表数据和结构(列,数据类型)create table 新表名 as (select * from 旧表名)
如果只复制表结构,不复制数据create table xxx like 旧表名
修改表名 alter table 表名 rename as 新表名
添加列 alter table 表名 add 列名 列类型
删除列alter tables 表名 drop 列名

主键:Primary Key 表中有一列或几列组合的值能用来唯一地表示表中的每一行,一个表只能有一个Primary Key
外键:Foreign Key,简单来说,子表中对应主表的列,在子表中称为外键,它的值要求与主表的主键或者唯一键相对应,一个表可以有多个外键

数据库三大范式:为了建立冗余较小,合理的数据库,必须遵守一定的规则,这种规则就叫范式。
第一范式:确保每列保持原子性,表中所有字段值都是不可分解的原子值。
第二范式:确保每个表都有一个主键
第三范式:确保每个属性都与表有直接关系
比如Student表(学号,姓名,年龄,性别,所在院校,院校地址,院校电话)
这样的表结构,我们应该拆开来,如下:
(学号,姓名,年龄,性别,所在院校)–(所在院校,院校地址,院校电话)

插入多行数据
insert into 表名 (列名)values(值)
insert into 表名 (sname,sadd,sage)values(“aaa”,“bbb”,18)
(“bbb”,“qwe”,19)
每次插入一行数据,不能只插入半行或者几列数据
更新数据行:update 表名 set (列名=更新值)
update 表名 set scores=scores+5 where scores>=60
60分以上+5
删除数据turncate table 表名 = delete from 表名
使用truncate table 比delete from 效率高,由于它不会记录删除详细日志,因而删除的数据不能回滚,truncate table不能用于有外键约束引用的表

查询语句

select xxx from 表名 where 条件 limit 5,10(限制)
排除重复
select distinct 列名 from 表名
多条件查询
select * from 表名 where 条件=值 and/or 条件=值
范围选择
select 列名 from 表名 where age>=18 and age<=28
select 列名 from 表名 where age between 18 and 28
模糊查询
select 列名 from 表 where 条件 like 通配符
通配符:一个字符_ 例如 like “18_”
任意长度字符 like “1%”
升序
select * from 表名 where 条件 order by xxx
降序
select * from 表名 where 条件 order by xxx desc