IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> mysql -> 正文阅读

[大数据]mysql

数据库
一、数据库基础

1.字段(列);记录(行);主键(唯一标记某字段)

2.数据类型

(1)使用原则:够用就行,尽量使用取值范围小的。

(2)常用数据类型

  • 整数:int,bit(有符号signed 无符号unsigned)

  • 小数:decimal(decimal表示浮点数,如decimal(5,2)表示共存5位数,小数占2位)

  • 字符串:varchar(varchar表示可变长度的字符串,如varchar(3)如果填充’ab’时就会存储’ab’)

    ? char(char表示固定长度的字符串,如char(3)如果填充’ab’时会补一个空格为’ab ')

    ? text(字符串text表示存储大文本,当字符大于4000时推荐使用)

  • 日期时间:date,time,datetime

  • 枚举类型:enum(枚举中下标从1开始,可用数字来表示枚举的类型)(对于图片,音频,视频等文件,不存储在数据库中,而是上传到某服务器上,然后在表中存储这个文件的保存路径)

3.约束

(1)主键(primary key: 物理上存储的顺序(主键字段可以用0 null default 来占位(自动增长))

(2)非空(not null:此字段不允许写空值

(3)唯一(unique:此字段的值不允许重复

(4)默认(default:当不填写此值时会使用默认值,如果填写时以填写为准

(5)外键(foreign key:对关系字段进行约束,当为关系字段填写值时,会到关联的表中查询此值是否存在,如果存在则填写成功,如果不存在则填写失败并抛出异常(虽然外键约束可以保证数据的有效性,但在进行数据的crud(增加,修改,删除查询)时会降低数据库的性能,不推荐使用,保证数据有效性可以在逻辑层进行控制)

4.MySQL存储引擎:MyISAM InnoDB(两种类型主要差别是InnoDB支持事务处理与外键和行级锁,而MyISAM不支持)

5.curd:增删改查

create创建

update更新

retrieve读取

delete删除

二、数据库基本操作

链接数据库

mysql -uroot -p(密码);

退出数据库

exit/quit/ctrl+d;

显示数据库版本

select version();

显示时间

select now();

查看所有数据库

show databases;

创建数据库

create database 数据库名 charset=utf8;

查看创建数据库的语句

show create database 数据库名;

删除数据库

drop database 数据库名;
若数据库名中含有特殊字符,加Tab键上边的 `drop database `数据库名`;

使用数据库

use 数据库名;

查看当前使用的数据库

select database();
三、数据表的基本操作

查看数据库中所有表

show tables;

创建表

  • –auto-increment 表示自自动增长
  • –not null 表示不能为空
  • –primary key 表示主键
  • –default 默认值
create table 数据表名字(字段 类型 约束[,字段 类型 约束]);
create table xxxxx(id int, name varchar(30));
create table yyyyy(id int primary key not null auto_increment, name varchar(30));
create table zzzzz(
	id int primary key not null auto_increment primary key,
	name varchar(30)
);
create table students(
	id int unsigned not null auto_increment primary key,
	name varchar(30),
	age tinyint unsigned default 0,
	high decimal(5,2),
	gender enum("男","女","保密")default "保密",
	cls_id int unsigned
);
insert into students values(0, "老王", 18, 188.88, "男", 0);
insert into studentsvalues(default, "小李", 20, 170.55, 1, 1);  性别处写123可用来表示相应位置的性别
select * from student;

查看数据表结构

desc 数据表名字

查看表的创建语句

show create table 表名字;

删除表

drop table 表名;
四、修改数据表

添加字段

alter table 表名 add 列名 类型;
alter table students add birthday datetime;

添加字段—重命名

alter table 表名 change 原名 新名 类型及约束;
alter table students change birthday birth datetime not null;
alter table students change birthday birth date default "2000-01-01";

修改字段—不重命名

alter table 表名 modify 列名 类型及约束;
alter table students modify birth date not null;
五、增删改查

1.增加

(1)全列插入

insert into 表名 values(...);
insert into classes values(0, "班级"); 若为指明插入字段则每个字段都要写上插入的值
insert into students values(default,"西施",20,"女",1,"1990-01-01"),(default,"王昭君",20,"女",1,"1990-01-01");

(2)部分插入

insert into 表名 (1,...) values (1);
insert into students(name, gender) values("大乔",2);
insert into students(name, gender) values("大乔", 2),("貂蝉", 2);

2.修改

update 表名 set1=1,2=2... where 条件;
update students set gender=2 where name="小乔";
update students set gender=2 where id=3;  条件要唯一就where id
update students set age=22,gender=2 where id=3;
update students set gender=1;  全部都改

3.查询

(1)查询所有列

select * from 表名;

(2)指定条件查询

select * from 表名 where 条件;
select * from students where name="小乔";
select * from students where id=4;

(3)查询指定列

select1,列2,... from 表名;
select name,gender from students;

(4)可用as为字段或表指定别名

select 字段[as 别名], 字段[as, 别名] from 数据表 where ...;
select name as 姓名, gender as 性别 from students;

(5)修改字段顺序(哪个字段写前面先显示哪个字段)

select id as 序号, gender as 性别, name as 姓名 from students;  显示顺序: id gender name
select name as 姓名, gender as 性别 from students;  显示顺序: name, gender

4.删除

(1)物理删除

delete from 表名 where 条件;
delete from stidents;  没有条件,整个数据表中的所有数据都被删除
delete from students where name="小乔";

(2)逻辑删除(用一个字段来表示这条信息是否已经不能再用了)

alter table students add is_delete bit default 0;
update students set is_delete=1 where id=6;
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-11-16 18:54:27  更:2021-11-16 18:54:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 6:00:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码