MySQL数据库操作

MySQL数据库操作

一_初识MySQL数据库

1、数据库

什么是数据库:
就是储存各种各样的数据仓库,注意数据库是一个数据系统来的,mysql就是一个数据库操作系统

我们基础课学习了哪些哪些储存数据呢?
json,txt

mysql和json有什么区别

就是mysql可以设置各种用户权限和内置操作函数

2、数据库分类

数据库分为:sql(关系型数据库), nosql(非关系型数据库)

1.关系型数据库
其实就是有一个关系模型(Excel 表格), 主要强调使用二维表的方式进行数据储存

元素:行,列, 表, 库

关系型数据库可以通过表与表进行关联

关系型数据库:mysql(免费开源的,中小型数据库), oracle(大型数据库,linux系统搭建,要钱), SQL server(大型数据库, 微软开发,要偏向windows平台,要钱)


sql语句有共通性,90%都可以通用


2.非关系型数据库
应用在大数据初始数,因为有些数据是很难建立一个关系模型

储存方式:键值对方式

非关系型数据库:Habase(单纯数据库) + Hive(提供sql语句), MongoDB(尽量学习), Redis(尽量学习)...


两种数据库都要用到

3、数据库概念

1.数据(data): 描述事物的特征和属性(数字,文本,符号)
2.数据库(database):可以长期保存大量的数据仓库
3.数据管理管理系统(DBMS):是用户通过这个系统进行访问操作

比如mysql数据库就是mysql管理系统

二、MySQL库操作

了解SQL

结构化查询语句,用于储存,查询,更新操作管理关系型数据库的

sql关系型数据库就是很典型交互基础

1.sql指令
DDL:数据定义语言(数据库用来创建,删除,修改表结构操作)
DQL:数据查询语言(对数据库的表格查询)
DML:数据库操作语言(对表数据进行增删改)
TCL:事务控制语言(拥有事务数据管理)一般DBA(数据管理员)的权限
DCL:数据控制语言(定义数据库的访问权限,安全级别)

SQL语言的规则

mysql 复制代码
#单行注释
-- 两个横线+空格也是单行注释

/*
	多行注释

*/


# 注意我们的sql语句每条都要用分号结束,必须要用到分号结尾,不能省略
# sql是不区分大小写

1、数据库查询

mysql 复制代码
# 1.数据库查询,表名,字段名也不区分大小写
show databases;
mysql库 这个数据库有user这个表,这个是专门管理用户权限和密码,不要动

2、数据库创建

mysql 复制代码
# 数据库创建,
# 格式 create database 库名;
create database demo924;

3、查询创建的数据库的所有信息

mysql 复制代码
# 查询创建的数据库的所有信息
#	CREATE DATABASE `demo924` /*!40100 DEFAULT CHARACTER SET utf8 */
# 是不是创建数据库语句, 
show create database demo924;

# 开发人员只有数据权限权限,表结构基本没用权限

4、切换使用数据库

mysql 复制代码
# use 数据名;
use demo924;

5、查看当前所在的数据库

mysql 复制代码
select database();

6、删除数据库

mysql 复制代码
# 不要弄,但是弄了也没用
drop database demo1;

三_MySQL表操作

1、数据类型

1、字符串类型
1.char(n): 最大储存字符255个字符,n是表示最大字符长度,如果不写默认为长度1
2.varchar(n): 最大储存65535字符长度, 不写默认是长度:长度为1
3.enum : 枚举,(单选题)
4.set: 多选题
5.text:文本,最大长度:理论是无限长度
2、 数值类型
1.int 储存整型, 范围+-21亿,直接够用
2.float(m,d)单精度,留存小数点后6(负数),7(正数)位 (m:表示数据总长度, d表示小数后几位)
3.double(m,d)双精度,留存小数后15位, (m:表示数据总长度, d表示小数后几位)

3、时间类型

1.year :年
2.date : 日
3. time : 时分秒
4.datetime 年月日时分秒

写入时间格式必须是双引号包裹, 本质还是字符串类型

2、表操作

1、创建表
mysql 复制代码
格式:
create table 表名(
	字段名 数据类型,
	字段名 数据类型,
    字段名 数据类型,

);
mysql 复制代码
create table xiaohezi(
	name char(5),
	gender enum('男', '女', '武装直升飞机'),
	age int(3),
	height float(5, 2),
	birthday datetime

);


create table xiaohezi(
	name char(5),
	gender enum('男', '女', '武装直升飞机'),
	age int(3),
	height float(5, 2),
	birthday datetime

);

create table xiaohezi(
	name char(5),
	gender enum('男', '女', '武装直升飞机'),
	age int(3),
	height float(5, 2),
	birthday datetime

)engine = InnoDB default charset = utf8;
2、表数据插入
mysql 复制代码
# 如何添加一条完整的数据
# 数据库是怎样图片视频的,储存图片和视频地址
insert into 表名 value (数值1, ......);

# 还可以插入多条数据
insert into 表名 value 
(数值1, ......),
(数值2, ......),
(数值3, ......),
(数值4, ......);
mysql 复制代码
insert into xiaohezi VALUES
('守护', '武装直升飞机', 40, 150.00, "1973-10-10 21:43:00"),
('帅得遭不住', '男', 10, 159.00, "2013-10-10 21:43:00"),
('逆水', '武装直升飞机', 80, 250.00, "1943-10-10 21:43:00"),
('李奕博', '女', 20, 160.00, "2003-10-10 21:43:00");
相关推荐
Hello.Reader8 分钟前
Redis大Key问题全解析
数据库·redis·bootstrap
靖顺2 小时前
【OceanBase 诊断调优】—— packet fly cost too much time 的根因分析
数据库·oceanbase
liuxin334455662 小时前
学籍管理系统:实现教育管理现代化
java·开发语言·前端·数据库·安全
yuanbenshidiaos5 小时前
C++--------------树
java·数据库·c++
dengjiayue6 小时前
MySQL 查询大偏移量(LIMIT)问题分析
数据库·mysql
言之。6 小时前
【MySQL】在MySQL中如何定位慢查询?
数据库·mysql
DashVector6 小时前
如何通过HTTP API插入Doc
数据库·人工智能·http·阿里云·向量检索
DashVector7 小时前
如何通过HTTP API分组检索Doc
服务器·数据库·http·数据库开发·数据库架构
Suwg2097 小时前
【MySQL】踩坑笔记——保存带有换行符等特殊字符的数据,需要进行转义保存
数据库·笔记·mysql
PittDing7 小时前
【更新】Docker新手入门教程2:在Windows系统通过compose创建多个mysql镜像并配置应用
windows·mysql·docker