栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Mysql基础

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Mysql基础

Mysql基础
  • 数据库分类
    • SQL分类

数据库分类
  1. 关系型数据库:Oracle、MYSQL、DB2、sqlsever
  2. 菲关系型数据库:mongoDB、redis
  • 数据库存储引擎:innoDB、MyiSAM
SQL分类
  1. Data DefinitionLanguage (DDL)数据定义语言,用来定义数据库对象(数据库,表, 字段),操作数据库、数据库表
--数据库
create database test;
--表
create table 表名( 字段1 字段1类型 COMMENT '注释', 字段2 字段2类型 ... );//创建表结构
show tables;//查询当前数据库所有表
desc 表名;//查看指定表结构
show create table 表名;// 查询指定表的建表语句
alter table 表名 rename to 新的表名;//修改表名
添加列 alter table 表名 add 列名 数据类型;
alter table 表名 change 列名 新列名 列类型//修改列名称、类型
alter table 表名 drop 列名;//删除列 
drop table 表名;//删除表 
drop table if exists 表名;
 
  • 常见数据类型
    char:定长字符串,指定长度多长,就占用多少个字符
    varchar:变长字符串,指定的长度为最大占用长度 。(一般用比较方便)
    相对来说,char的性能会更高些(数据量大)。
    date:日期值,yyyy-MM-dd
    datetime:日期值,yyyy-MM-dd HH:mm:ss
    timestamp:日期值,yyyy-MM-dd HH:mm:ss,默认取当前时间戳
    decimal:浮点值 decimal(总长度,小数点后长度)
  1. DML:Data Manipulation Language 数据操作语言,用来对数据库表中的数据进行增删改,数据库表记录
    C(CREATE)
    R(RETRIEVE)
    U(UPDATE)
    D(DELETE)
--添加表数据
insert into 表名(列名1,..列名n) values(值1,...值n);


--删除表数据
delete from 表名 where 条件;


--修改表数据
update 表名 set 列名1 = 值1, 列名2 = 值2,... where 条件;

  1. DQL: Data Query Language 数据查询语言,用来查询数据库中表的记录,数据库表记录
--查询
SELECT 字段列表 FROM 表名列表 WHERe 条件列表 GROUP BY 分组字段列表 HAVINg 分组后条件列表 ORDER BY 排序字段;

--去重
select DISTINCT gender from stu;

--聚合函数
SELECt 聚合函数(字段列表) FROM 表名


--排序查询
select 字段列表 from 表名 order by 字段1 排序方式1,字段2 排序方式2


--分组查询
SELECt 字段列表 FROM 表名 [ WHERe 条件 ] GROUP BY 分组字段名 [ HAVINg 分组后过滤条件];


--分页查询
SELECt 字段列表 FROM 表名 LIMIT 起始索引, 每页条数 


--模糊查询

-- 查姓名是四个字符的
select * from stu where name like '____';
-- 姓名是l开头的
select * from stu where name like 'l%';

-- 笛卡尔积
-- 隐式内联查询
select * from emp t1,dept t2 where t1.dept_id = t2.id;
-- 内联查询
select * from emp t1
join dept t2 on t1.dept_id = t2.id;
-- 外联查询
-- 左连接查询
select * from emp t1
left join dept t2 on t1.dept_id = t2.id;
-- 右连接查询
select * from emp t1
right join dept t2 on t1.dept_id = t2.id;

-- 子查询
-- 销售部和后勤部的所有员工信息(分布为)
-- 1.先查出销售部和后勤部
-- 2.员工id在销售部和后勤部范围之内的
select * from dept t1 where t1.name in ('销售部','后勤部');
select * from emp t2 where t2.dept_id in (select id from dept t1 where t1.name in ('销售部','后勤部'));

--约束

not null//非空
create table account (
	id int primary key auto_increment,
    name varchar(20) not null comment '姓名'
) COMMENT='账户表';
--修改表中数据为非空
alter table stu modify name varchar(20) not null comment '姓名';
alter table stu modify name varchar(20) comment '姓名';//可以为空

--唯一约束(手机号为例)
unique//唯一约束
alter table stu modify phone varchar(11) unique comment '手机号';
alter table stu drop index phone

--添加唯一索引
alter table stu add unique key 'name_phone' ('name','phone');

--主键:唯一,一张表有且只有一个主键
alter table stu add id int primary key comment '学号';


--事务
-- 开启事务
start transaction;
insert into account (name,balance) values ('zhangsan',1000),('lisi',1000);
rollback;//感觉前面有问题就回滚一下
commit;//没有问题就提交

-- 查看是否自动提交
select @@autocommit;-- 0-手动提交,1-自动提交
-- 设置手动提交
set @@autocommit = 0;
  • 事物的四大特性
    1. 原子性:事务操作的不可分割的最小单位,要么全部成功要么,全部失败
    2. 隔离性:事务之间是相互独立的
    3. 一致性:事务提交或者回滚之后,数据的总量保持不变
    4. 持久性:事务提交或者回滚之后,操作会永久地保存到数据库
  1. DCL: Data Control Language 数据控制语言,用来创建数据库用户、控制数据库的 访问权限。授权
暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1016971.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号