MYSQL数据库

数据库语句对大小写不敏感
在mysql数据库中,所有字符类型数据都必须加上单引号或双引号
那么之后将会大小写敏感

数据库模式定义语言(Data Definition Language)

CREATE DATABASE '...单引号可以不要' character ‘utf8’

CREATE TABLE xxx (
      id INT(8) AUTO_INCREMENT PRIMARY KEY ,
     sup varchar(50) comment ‘供应厂商’ ,
     name varchar(20) ,
     password varchar(20) ,
     YMD DATE ,
     YMDHms TIME ,
     YMDHms TIMEstamp ,
     money double(8,2) -- 最后不能有逗号
);

CREATE DATABASE   xxx (
    id INT(8)   PRIMARY KEY ,
);

数据操纵语言(Data Manipulation Language)

SYSDATE()系统数据

  • 增 – 为表添加数据
    – insert into 表名 [(列名1,列名2…)] values(值1,值2…) 列的个数与值得个数相对应
    – 在mysql数据库中,所有的字符类型数据都必须加上单引号

–为表添加数据
insert into users (id,name,password) values(1,'admin','123');

– 不需要添加数据的列一定是可为空的列
insert into users(id,name,password) values(1,'admin','123')
– 添加全数据
insert into users values(2,'system','123',5000,SYSDATE())


· 以下操作不加where,就是删库,准备跑路吧

  • 删 – 删某一行数据
    – delete from 表名 [where 列名 = 值]

  • 改 – 改某一行数据
    – update 表名 set 列名 = 新的值 [,列名1 = 新值,列名2…] [where 列名 = 值]


数据查询语言(Data Query Language)

----查 列名列表自己定 条目数量根据数据返回
– 列名使用别名 SELECT 列名称 AS '名称带空格得引号起来' FROM 表名称

-- 列名的别名  当名称需要使用另外的名称时,可以使用别名 as
select ename as 姓名 from emp;
select ename 姓名 from emp
-- 别名中出现空格 别名需要使用引号引起来
-- 在sql中 空格是具有特定意义的
select ename "姓 名" from emp
-- 查询所有员工信息,员工工资上调百分之30
-- 表名也可以使用别名
select e.empno,e.ename,e.job,e.mgr,e.hiredate,e.sal*1.3 sal,e.comm,e.deptno
from emp e

– 表名使用别名 SELECT e.xxx FROM emp e

  • SELECT 列名称 FROM 表名称 [where …过滤条件]
  • LIKE '%e%' ;_ 一个占位符;% 占位符 零或多个字符
  • ORDER BY 列名 排序 两种排序方式
    – ASC 升序(默认) ascend
    – DESC 降序 · · · descend

推荐阅读 内外连接
https://blog.csdn.net/tayngh/article/details/99692541
https://blog.csdn.net/zjt980452483/article/details/82945663

– 联表查询

  • 主外键关联情况
    – 两个表查询过程中 两个表数据穿插交互匹配 形成了笛卡尔积
  • 等值查询 等效于 内连接 inner join (自然连接)

SELECT e.empno,e.ename ,e.job,e.mgr,e.hiredate,e.sal,e.comm , d.deptno , d.dname , d.loc
FROM emp e, dept d – 直接一个逗号
ORDER BY d.deptno
WHERE e.deptno = d.deptno
ORDER BY e.empno ;

SELECT * – 内连接 inner join
FROM emp e left inner join dept d – LEFT JOIN
ON e.deptno = d.deptno
ORDER BY e.empno ;

  • 外连接查询
    – 左外连接查询

FROM emp e left outer join dept d
– 右外连接查询

  • 子连接

  • 函数

    • 单行函数 : 字符 数字 日期 转换 去空
      SYSDATE()系统数据
      – 字符函数 :
      lower( ) upper( ) 转换大小写
      length( ) 字符长度

      – 数字函数 :
      round( ) 四舍五入
      ceil( ) 向上取整
      floor( ) 向下取整
      = truncate( X,D) 截断小数 D位小数后不要
      mod(79,9) 取模 = 取余

      – 日期函数
      MONTHS_BETWEEN() 两个月份的差 (Oracle)
      LAST_DAY( ) 指定当月最大的一天

mysql日期转换推荐@@@
https://www.cnblogs.com/diandianquanquan/p/10852620.html

- 隐式转换 : 自动转换
- 显示转换 : 
  -- to_char
  -- to_number
  -- str_to_date
- 组函数
-- 
>https://www.w3school.com.cn/sql/sql_isnull.asp
- 分组查询  --  group by
  - 规则:
  GROUP BY 中存在的列,在select中不一定有
     在select中存在的非组函数列,在group by中必须要有

ANY any
你的身高高于某一个
你可以比他们班某一个人高
ALL all
你的身高高于你班任何一个 /任意一个/任何人
你的身高于你班所有人

它比任一行星大
It’s bigger than any other planet
它比任何行星大
It’s bigger than any planet
它比所有行星大
It’s bigger than all the planets
它比太阳系某颗行星大

It’s bigger than a planet in the solar system

数据控制语言 (Data Control Language)

  • 管理用户 授权
    create / drop /update user set

star transaction
commit
rollback --发现问题回滚事务

select @@autocommit --1自动提交
set ~ =0

事务四大特征

1原子性:不可分割最小操作
2持久性:一旦提交/回滚持久更新
3隔离性:(级别)多个事务之间相互独立不影响
4一致性:数据总量不变

serialized 串行化 加锁不给别人读
repeatable read 幻读(会变化)
read committed ~ 不可重复读
read uncommitted ~ ~ 脏读在这里插入图片描述
(读没有提交的数据)

张三 欠条赚一倍 对面亏两倍
张三失败 引发 两次读取不一样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值