文档章节

MYSQL数据库简介

o
 osc_zoa3moe9
发布于 2019/12/09 11:00
字数 985
阅读 13
收藏 0

精选30+云产品,助力企业轻松上云!>>>

一、数据库简介
数据库(Database,DB)是按照数据结构来组织,存储和管理数据的仓库。
典型特征:数据的结构化、数据间的共享、减少数据的冗余度,数据的独立性。
关系型数据库:使用关系模型把数据组织到数据表(table)中。现实世界可以用数据来描述。
主流的关系型数据库产品:SQL Server(MS)、MySQL(Oracle)。
数据表:数据表是关系数据库的基本存储结构,二维数据表有行,和列组成,也叫行和字段列。
二、MySQL数据类型(5.5版本)
(1)数值类型

MySQL中除了字符串类型需要设置长度,其他类型都有默认长度.

数值类型 Java中 MySQL中
整型 byte tinyint
short smallint
int int
long bigint
浮点型 float float
double double
字符串类型 String 定长char() ;可变长varchar()
时间日期 date date/time/datetime

 


三、Sql语句
(1)Sql语句简介
SQL(Structured Query Language):结构化查询语言
SQL是在关系数据库上执行数据操作、检索及维护所使用的标准语言,可以用来查询数据,操纵数据,定义数据,控制数据。
SQL可以分为:

数据定义语言(DDL):Data Definition Language
数据操纵语言(DML):Data Manipulation Language
事务控制语言(TCL):Transaction Control Language
数据查询语言(DQL):Data Query Language
数据控制语言(DCL):Data Control Language
(2)数据定义语言DDL`create,alter,drop`
--数据定义语言DDL(create,alter,drop)

-- 一、数据库相关的DDL

-- 1.创建数据库
CREATE DATABASE mybase;
-- 2.创建数据库并指定字符集
CREATE DATABASE mybase1 CHARACTER SET UTF8;
-- 3.查看所有数据库
SHOW DATABASES;
-- 4.查看当前使用的数据库
SELECT DATABASE();
-- 5.修改数据库
ALTER DATABASE mybase CHARACTER SET UTF8;
-- 6.删除数据库
DROP DATABASE mybase1;
-- 切换数据库
USE mybase;

--二、表相关DDL

创建表
create table exam(
id INT(11) PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20),
English INT,
Chinese INT,
Math int
);
查看数据库中所有表
show TABLES;
查看表结构
desc exam;

表的删除
drop table exam;

表的修改(基于exam表)

添加列
ALTER TABLE exam ADD History INT NOT NULL;
修改列的类型、长度、约束
ALTER TABLE exam MODIFY History DOUBLE(7,2);
修改表的列名
ALTER TABLE exam CHANGE History Physics INT NOT NULL;
修改表名
RENAME TABLE exam TO score;
修改表的字符集
ALTER TABLE score CHARACTER SET GBK;
删除列
scoreALTER TABLE score DROP Physics;

ALTER TABLE

-- 三、练习:创建emp表

CREATE TABLE emp(
empno INT PRIMARY KEY AUTO_INCREMENT,
ename VARCHAR(20),
job VARCHAR(20),
mgr int,
hiredate DATE,
sal DOUBLE(7,2),
commit double(5,2),
deptno INT NOT NULL -- 非空约束
);

(3)数据操纵语言DML`update,insert,delete`
-- 数据操纵语言DML(update,insert,delete)


-- 1.插入部分列
INSERT INTO score(id,NAME,English,Chinese,Math) VALUE(1,'Hudie',90,90,90);
INSERT INTO score(id,NAME,English,Chinese) VALUE(NULL,'diedie',91,91);
-- 2.插入所有列
INSERT INTO score VALUES(3,'Shu',80,80,80);
-- 3.修改记录
UPDATE score set Chinese=99; --全表修改
UPDATE score SET Math=100 WHERE id='1';
-- 4.删除记录
DELETE FROM score WHERE id='2';
DELETE FROM score;

-- delete与truncate的区别 √
--TRUNCATE TABLE 删除表的记录:将整个表删除掉,重新创建一个新的表,属于DDL.
--DELETE FROM 删除表的记录:一条一条进行删除,DELETE.
INSERT INTO score VALUES(3,'Shi',80,80,80);
DELETE FROM score;
INSERT INTO score VALUES(NULL,'zhangsan',10,10,10); --不会清空AUTO_INCREMENT值
TRUNCATE TABLE score;
INSERT INTO score VALUES(NULL,'zhangsan',10,10,10); --清空AUTO_INCREMENT的值www.weixiu3721.com。

-- 事务管理:只能作用在DML语句上,如果在一个事务中使用delete删除所有记录,可以找回.
-- 使用delete删除后可以用COMMIT和ROLLBACK找回数据,使用truncate后就找不回来了.

-- delete、truncate、drop的区别 √
delete、truncate、只是删除表的记录,而drop会直接删除表.


(4)数据控制语言DCL`grant,revoke`
-- 数据控制语言DCL(grant,revoke)
-- 主要为用户授予和撤销权限

-- 1.创建用户

-- 2.给用户授权

-- 3.撤销权限

-- 4.查看用户的权限

-- 5.删除用户

-- 6.登录

-- 7.退出登录

o
粉丝 1
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
MySql DAL中间件总结

1前言 2Atlas 2.1atlas简介 2.2atlas架构 2.3主要功能 3Mysql router 3.1mysql router简介 3.2mysql router架构 3.3mysql router主要功能 4Mycat 4.1mycat简介 4.2mycat架构 4.3mycat主要功能......

群星纪元
2019/04/27
34
0
Python操作三大主流数据库——学习笔记

第一章 数据库简介 1.python操作三大主流数据库导学篇   --关系型数据库和非关系型数据库的差异和适用场景   --Mysql基础知识   --新闻表设计小练习   --使用Python操作Mysql   -...

osc_uonv8t4g
2019/03/28
9
0
mysql数据库

今日内容: 1.mysql的简介 2.如何安装mysql 3.mysql的基本使用方法 一.数据库的简介 什么是mysql: mysql是一种开放源代码的关系型数据库管理系统(RDBMS),由于mysql是开放源代码的,因此任...

osc_j173qep8
2019/08/16
0
0
2014中华数据库与运维安全大会的演讲嘉宾及演讲主题介绍

2014中华数据库与运维安全大会介绍 【导读】 自2009年于上海举办技术会议以来,一直坚持公益性且技术干货为主的特点,在2009年至2011年底之间的三年期间 一直是IT168坚持真诚奉献,后因公司被...

金官丁
2014/02/28
116
0
3306π北京站拍了拍你

社区的线上活动又来了,开源软件所具有的分享精神,体现在方方面面,拥抱开源,加入开源社区的大家庭! 错过了618?没关系 8月8号有一场不容错过的数据库盛宴等你来 不需要定金,不需要尾款,...

老叶茶馆_
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

阻塞锁,非阻塞锁,自旋锁,互斥锁

1.阻塞锁 多个线程同时调用同一个方法的时候,所有线程都被排队处理了。让线程进入阻塞状态进行等待,当获得相应的信号(唤醒,时间) 时,才可以进入线程的准备就绪状态,准备就绪状态的所有...

osc_umiwij2c
4分钟前
0
0
Asp.NetCore3.1 WebApi中模型验证

前言   不管是前端,还是后端,做数据合法性验证是避免不了的,这边文章就记录一下Asp.NetCore3.1 WebApi中的模型验证; 传统写法--不使用模型验证   来,先上图:   我相信,应该绝大...

osc_qgfjs4a5
5分钟前
0
0
龙芯开源社区上线.NET主页

龙芯团队从2019年7 月份开始着手.NET Core的MIPS64支持研发,经过将近一年的研发,在2020年6月18日完成了里程碑性的工作,在github CoreCLR 仓库:https://github.com/gsvm/coreclr, 随后受...

osc_bj12kvua
6分钟前
0
0
高并发下浏览量入库设计

一、背景 文章浏览量统计,low的做法是:用户每次浏览,前端会发送一个GET请求获取一篇文章详情时,会把这篇文章的浏览量+1,存进数据库里。 1.1 这么做,有几个问题: 在GET请求的业务逻辑里...

osc_uj3h5gt9
7分钟前
0
0
nginx timeout 配置 全局timeout 局部timeout web timeout

nginx比较强大,可以针对单个域名请求做出单个连接超时的配置. 比如些动态解释和静态解释可以根据业务的需求配置 proxy_connect_timeout :后端服务器连接的超时时间_发起握手等候响应超时时间...

osc_5cok9i01
8分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部