数据库与四类语句

数据库

作用:存储以管理数据
优点
	有结构
	数据之间有关系 
	可以长期存储
数据库分类
	关系型数据库
		mysql(主流,免费)
		oracle
		sql server 
		SQLite
	非关系型数据库
安装配置mysql
	注意:mysql的端口号默认是3306
        mysql地址:
            就是安装mysql的计算机的ip地址 
            自己或别人的ip地址
        对root账号设置密码
            123456
操作mysql服务器:
	mysql自带工具
		缺点:没有提示,不能可视化开发
	Navicat
		优点:有提示,可以可视化开发

SQL语句

sql语句
	操作数据库的语句
分类		
DDL:对数据库的库,表视图,索引
DML对数据增删查
DQL查询数据
DCL对事物的操作

DDL语句

对库
	create database if not exists库名 character set 'utf8';
数据库改字符集编码
	alter database 库名 character set 'gbk';
删除数据库
	drop database if exists 库名;
切库
	use database 库名

对表
建表
    create table 表名(
        字段名1 数据类型 [约束] [约束],
        字段名2 数据类型 [约束],
        字段名3 数据类型 [约束],
        ...
        字段名n 数据类型 [约束],
    );
查看有哪些表:
	show tables;
查看表结构
	desc 表名;
添加列
	alter table 表名 add 字段名 数据类型 [约束];
修改列名
	alter table 表名 change 旧字段名 新字段名 数据类型 [约束];
修改表名
	alter table 老表名 rename to 新表名;
删除表
	drop table 表名;
	
数据类型:
    字符串: 
        字符:char(长度)
        可变字符:varchar(长度)
        长字符串:longtext;
    数字:
        整数:int,integer
        小数:double
    时间:
        日期+时间:datetime 2022-09-12 12:13:14
        只有日期:date 2022-11-03
约束:
	主键 primary key :唯一(不能重复null除外),非空
	唯一 unique
	非空 not null(字段值不能为null)
	自增 auto_increment  (自增)
	默认 default(设置默认值)
	外键 foreign key (设置关联关系)
	

DML语句

增
insert into 表名 (字段名1...) values (值1...);
删
delete from 表名 where 条件
改
update 表名 set 字段名1= 值1..where条件

DQL语句

基本查询
select 字段1,...from 表名 where 条件;
条件
运算符
逻辑运算符
	or,and,not
条件运算符
	>,>=,<,<=,!=,=, 字段 between 值1 and 值2,
数据运算符
	+,-,*,/,%
别名:
    给字段起别名,
    字段名 as 别名
    表名 as 别名
剔重
    distinct
    select distinct 字段名 from 表名 where 条件
枚举
	字段名 in(值1,值2...)
判断是否为空
    字段名 is not null
    字段名 is null
模糊查询
    like
    - 单个任意字符
    % 多个任意查询
分支
    case
        when 条件 then 结果 
        when 条件 then 结果
        when 条件 then 结果
        ...
        when 条件 then 结果
        else 结果
    end as 别名
函数
	字符串函数
	拼接 concat(字段名,'-',字段名)
	替换 insert(目标,开始位置,替换长度,替换)
	转大写 upper()
	转小写 lower()
	截取 substring(字段名,开始位置,截取长度)
	
	聚合
	count()
	max()
	min()
	sun()
	avg()
	now()
	
	排序
	order by 字段名 asc升/desc降
	分组
	group by 字段名[having 条件]

执行顺序
select 字段名...from 表名
where 条件
分组 筛选 
排序
1,先条件查询
2,分组
3,筛选
4,排序
5,分页
分页
limit 开始位置,一页长度; 从0开始

内关联
	获取两张表的交集
左关联
	获取两张表的交集与左表所有数据
右关联
	获取两张表的交集与右表所有数据
需要条件,否则会产生笛卡尔积
on的性能比where好

子查询
将查询的结果作为值,或虚拟表

DCL语句

事物

事物;开启事物
begin
-- 多个sql语句
commit;提交
rollback;回滚

表关联关系

一对一
	主键关联
	在其中多的一张表中一个添加字段,用于关联数据的主键
一对多
	在其中多的一张表中添加一个字段,用于关联数据的唯一标识主键
多对多
	在提供一个表,将两个表中的,记录其关系
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值