数据库基础

数据库(database):存储数据的仓库 相当于文件夹/目录

数据库的组成

表(table):相当于文件

Table结构:相当于表头

行(row):数据

字段(属性) 主键id 字段类型

Mysql:管理数据库(管理文件,文件夹)的软件

 

分类

DDL : 数据库 和 表

DML : row 增删改

DQL : row 查询(重点) Data Query Language

DTL : 事务,权限 Data Transaction Language

DDL

数据库(文件夹)基本操作

        增(create) 删(delete) 改(update) 查(read)

 Cmd登录数据库:mysql  -uroot(用户名)  -p(密码)

1. 查询:show databases 显示全部 /show create database 数据库名  显示单个

2. 创建/增:create database 数据库名

3. 删除:drop database 数据库名

4. 修改:不能改名字,只能删除然后创建

 

表(文件)基本操作

1.创建文件之前,必须进入到某个文件夹中

Use 数据库名

2.创建时候,给定表名,给定字段(表头) create table 表名( id int, username varchar(11), password varchar(11) );

3.删除

drop table 表名

4.修改 alert table 表名

修改表名 :ALTER TABLE <表名> RENAME TO <新表名>;

添加字段 :ALTER TABLE <表名> ADD <列名> <字段属性>;

修改字段 :ALTER TABLE <表名> CHANGE <旧列名> <新列名> <字段属性>;

删除字段 :ALTER TABLE <表名> DROP COLUMN <列名>;

DML

   

           Insert into 表名(字段1,字段2...)values(值1,值2...)

Insert into values(值1,值2...)

        字段列表 和值列表 个数一定要匹配

        字段列表 和值列表 类型一定要匹配

           Mysql数字类型不需要加引号

           Mysql 日期,字符串 必须加引号

   Delete from 表名 (where 条件)

   Update 表名 set 字段1=值1,字段2=值2...(where 条件)

DQL

   1.格式

        Select 字段1【as 别名】,字段2...from 表名

         【

              Where 普通条件

              Group by 分组字段  having 分组条件

Order by 排序字段 排序规则

查询全部信息 select * from 表名

去重 select distinct 字段 from 表名

     2.where条件查询

          (1)关键字

            Like  /_任意一个词 /%任意0,1,2...词

         name like 'XX'; select * from 表名where name like 'X' ;

name like '%X' 以X结尾

name like 'X%' 以X开头

3. 升降序

          Asc 升序(默认)  desc 降序

  聚合函数

         功能点 统计-》统计图/分页

         Avg :求平均值 select avg(字段名) from表名

            Count:统计个数函数 select count(字段名)from 表名

            Max/min :求最大值最小值 select max/min(字段名)from 表名

            Sum:求和函数 :select sum(字段名)from 表名

    分组函数 group by

   可查询 分组字段 聚合函数  分完组,是一个整体,不存在单独属性

分页函数 limit

     1.格式 limit m,n ( m 角标/下标 从0开始  n多少条)

        2. select * from 表名 limit (pageNum-1)*pageSize ,pageSize

     PageNum:页数  pageSize:条数

表约束

    Create table 表名

     表头字段 类型 [XX约束 xx约束2],

表头字段 类型 [XX约束 xx约束2],

唯一约束 : unique

不允许字段重复出现

非空 : not null

不允许字段不输入值

主键约束 : primary key

unique + not null

自增长 : auto_increment

只能在主键上

只能在能够++类型 int bigint

一般情况下,如果id是int bigint,,,会让他自动增长

外键约束 : foreign key

连接表与表之间的关系

实体和另外的实体之间的关系可以用外键标识

产出表的时候,必须先删除外键所在的表

           创建外键:foreign key(当前表的需要指出字段) references 外键表名(指向的列);

 

外键

一对一

   主  从(外键)

  外键一半放在次要的一方

一对多

   外键一般在多的一方

多对多

   会有一个中间表 中间表中创建2个外键

 

多表查询

内连接

 显示内链接

格式

select * from 第一张表的名字 [inner] join 第二张表的名字 [on 连接条件 where 筛选条件...]

内连接

格式

select * from 表1,表2

笛卡尔积

两张表的乘积,其中很多费数据

 

左外连接

格式

select * from 表1 left outer join 表2 [on 连接条件 where 筛选条件...]

作用 显示左边所有数据

右外连接

格式

select * from 表1 right outer join 表2 [on 连接条件 where 筛选条件...]

作用 显示右边边所有数据

子查询

一条sql语句作为,结果(当做一张表,当做条件),给另外一个sql使用

select * from 表名 where 字段名=( select 字段名from 表名where 条件);

流程

  一、 Switch

      Switch (key)

Select case value

    When 1 then

     ‘XX’

    When 2 then

      ‘XX’

    Else

        ‘XX’

二、If

              Select case

              When x<100 then

             ‘XX’

              When  x<200then

            ‘XX’

             Else

             ‘XX’

         END as 别名

         From 表名

空判断

     Ifnull(e1,e2)

          如果e1==null return e2

          如果 e1!=null retrun e1

 Nullif(e1,e2)

          如果e1==e2 return null

          如果 e1!=e2 retrun e1

数值

Format(value,length)

保留形式:四舍五入

Value:值

Length:小数点后的长度

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值