zoukankan      html  css  js  c++  java
  • day21 数据库(DataBase)

    1、数据库由多张表组成,一张表就是一个实体。

    2、表的列就是属性的值,行就是一个个具体的对象的属性值。

    primary key主键:1、非空。2、不能修改(定好不变)。3、业务无关。

    作用:在表中具体唯一标识某条记录。

    foreign key外键:记录这张表和另一张表的数据关系。

    1对1的时候,外键可以在任何一方。

    1对多的时候,外键只能在多的一方。

    多对多的时候,需要添加一张关系表来表示他们的关系。

    RDBMS(relationship data base management system)关系型数据管理系统

    SQL(struct query language)结构化查询语言

    DDL语句:对数据库的创建,使用,删除,对数据库表的创建、删除、修改。

    DML语句:对表里的数据进行增、删、改,保证数据的有效性。

    DQL语句:对表里的数据进行查询。

    DCL语句:用于控制对数据库的访问。

    DDL语句(不区分大小写)——对库的操作

    create database 库名;  ——建库

    use 库名;  ——使用库

    drop database 库名;  ——删库

    show databases; ——显示所有的库

    DDL语句——对表的操作

    建表 create table 表明 (列名   列的数据类型   列的约束);

    表名起名一般加:t_

    普通列必须加:f_

    删除 drop table 表名;通过外键约束连在一起的表,不能直接删除,必须先删除关系。

    修改 alter table 表名 add 列名 类型;加入列

           alter table 表名 change 被修改的列名 修改后的列名 ;   修改列

           alter table 表名 drop column 列名;     删除列

    约束条件:

    主键约束:primary key

    外键约束:1、referen。2、constraint foreign key references 表名;

    unique:唯一约束。

    not null:非空约束。

    default:默认约束。

    check: 检查约束(mysql约束)。

    DML语句:

    insert 添加 insert into 表名 (列名列表) values (值列表);

    update 修改 update 表名 set 列1=新值1,列2=新值2 where 过滤条件;

    delete 删除 delete from 表名 where 过滤条件(不加条件全删)

    全删的时候区别truncate table 表名; 不能用于有外键约束的表。

    delete会记录日志,意味着删除后的数据还可以恢复,但是效率低;truncate不会记录日志,数据不能恢复,但是效率高。

    DQL语句:

    select 列名 1,列名2 from 表名;

    select 表名.列名 from 表名;

    select 列名 as 别名 from 表名;                 起别名查找

    select concat (列名,' ',列名) from 表名;    拼接列查找

    select distinct 列名 from 表名;                排除重复的行查找

    select 列名 from 表名 limit 开始序号,返回的行数  ;   分页查找(只用于mysql)

    select 列名 from 表名 where 列名 = 值;    根据过滤条件查找

    过滤条件:1、in/not in(值,值,值)。2、is null/ is not null 。 3、 like/not like (通配符'_'表示一个字符;'%'表示多个字符)。

    4、between and 在一个范围内查找  5、and/or 。

    排序

    select * from 表名 order by 列名 asc;默认的升序排列

    asc——升序排列,desc——降序排列。

    查找的执行顺序:from——where——select——order by。

    子查询
    当我们需要使用子查询的临时表的时候,应该给这个临时表起个别名,特别是在临时表中做查询的时候。

    相关子查询:执行依赖于子外部查询的数据,外部执行一次,子查询就要执行一次,多用于select后面。
    相关子查询消耗更长的执行时间,当数据量增加时,执行时间会急剧增加。后面用join on代替。

    非相关子查询:子查询执行不依赖外部查询的数据,子查询只执行一次,多用在from、where后面
    where 列 运算符 子查询
    运算符:1、>、<、=、>=、<=、!= 子查询返回的是单列或者单行
    2、in、not in 子查询返回的是单列多行
    3、exists、any、all、not exists

    组合查询:
    union运算符:第二次查询的结果放在第一次查询的结果后面,列名以第一次查询的结果为准。
    二次查询的列数必须相同。

  • 相关阅读:
    Hexo+Github搭建个人博客手记
    如何在Github上部署Hexo个人博客
    测试计划与测试方案的区别
    软件测试流程
    Python笔记-List和Tuple类型
    键盘无响应-如何修复键盘注册表
    正向代理与反向代理-小故事
    解决git连接github超时问题
    如何防范短信接口被恶意调用(被刷)
    接口测试基础篇
  • 原文地址:https://www.cnblogs.com/fengshaolingyun/p/6204778.html
Copyright © 2011-2022 走看看