数据库概念和sal语句

数据库概念和sal语句
数据:数字信息  据:属性对一系列对象的具体属性的描述的集合。
数据库:数据库就是用来组织(各个数据之间是有关联,是按照规则组织起来的),存储和管理(对数据的增、删、改、查)数据的仓库。
数据库是企业的重要信息资产,在使用数据库时,要注意(查和增,无所谓,但是删和改,要谨慎!)
数据库管理系统(DBMS):实现对数据的有效组织,管理和存取的系统软件

数据库是一个系统,是一个人机系统,硬件,oS,数据库,DBMS和数据库的用户共同组成。
用户是通过DBMS(各种数据库软件)来对数据库进行操作。

数据库的分类:

mysal:关系型数据库。
redis:非关系型数据库es。

关系型数据库:存储数据的结构是一个二维表格
表:行  列
行:记录,用来描述一个对象信息
列:字段,用来描述对象的一个属性。

关系型数据库:mysql(中小类型的数据并发请求免费)oracle(大数据量还是用它)sql-server mariaDB postgresql。
关系型数据库当中,表里面的数据是关联的,表和表之间的数据也是关联起来。
多表关联,最多可以关联几张表?
3张表。
非关系型数据库:保存不是一张表格,key…>value  键值对来保存数据。
redis缓存性的数据库
es:索引型数据库。
文档型:MongDB
既然有关联,查询速度相对来说,关系型数据查询速度更慢一些。非关系型数据库可以支持高并发读写。对海量数据依旧保持着高效率的存储和访问。

mysal数据库的存储引擎:

5.5之间:MYISAM不支持事物和外键的存储引擎。适用于读的多,写的好。
5.6之后默认的存储引擎:lnnodb,可以支持事务,外键,行级锁定的存储引擎。
支持高并发性能的应用。
事务:在数据库当中,一个或者多个操作组成的数据操作的序列。
这些操作要么全部成功,失败一个就全部不执行。确保数据一致性和完整性。
事务的特点:
1.原子性。数据库最小工作单元,要么全部执行成功,要么全部不执行,只要有一个操作时间,整个执行的序列都会被回滚。完成的操作也会被撤销。
2.一致性:事务执行前后,数据库的完整性约束不能被破坏。只有在满足所有的约束条件情况下,事务才能被提交。
3.隔离性:事务的执行是相互隔离。一个事物的执行不能受到其他执行事务的干扰。并发事务之间互相隔离。防止数据不一致的情况发生。
4.持久性:事务一旦提交,他所做的所有修改会被永久的保存在数据库中。即使系统崩溃,提交的数据也不丢失。
确保数据库的始终处于一致性的状态。确保数据的完整和一致。

mysgl的名词:

1、数据库:database
2、表:table 行:row列:column
3、索引:index
4、视图:view
5、存储过程:procedure
6、触发器:trigger
7、用户:user
8、权限:privilege

mysql的语句的规范:

在数据库系统中,Sal不区分大小写,但是建议大写。语句不区分,但是表名是严格区分大小写。
sa语句可以单行也可以多行书写,但是默认都以;结尾。
关键词不能跨行或者简写。
子语句通常位于度路航,便于编辑,提高可读性。

数据库的命名规则:

必须以字母开头,后面可以包含数据,特殊字符:#_$
不要使用mvsql的保留字:table select
数据库名表名用户名严格区分大小写。

数据库的字符类型:

int:4个字节,用来存储整数
char:固定长度的字符串,用来存储定长的字符串。
yarchar:可变长度的字符类型,存储可变长度的字符串。(无限制的可以随便写,也要根据类型的长度。)
float(m,d):单精度浮点存储浮点数,m表示总位数,d,表示小数位
double(m.d):双精度浮点数,存储浮点数,m也是总位数,d,表示小数位。
text:用于存储大文本数据,文档,或者长字符串。
image:二进制存储图像,图片,多媒体。
decimal(5,2):用于存储固定精度的小数,其中5,表示总位数,2表示小数位。
date:存储日期:yyyy-mm-dd
datetime:存储日志 YYYY-MM-DD HH:MM:SS
Itimestamp:和datetime格式一致,可以自动的更新为当前的时间戳。

重点

char varchar
"char4个字节"1个字节。
'ab''ab'4个字节
'ab'3个字节
‘abcd'‘abcd'4个字节
‘abcd'5个字节
char 无论你是否定义了值,都会占用固定长度的字节大小。
varchar:在保存时,varchar 14  实际长度是5就占用5个,加一个隐藏符,6个

yarchart比char节省磁盘空间
但是varchaer读写速度比char慢。
都是字符串类型:一定要用单引号。

sa语句的分类

DDL:数据定义语言,用于创建数据的对象,创建库 表  索引。
CREATE 创建
DROP 删除
ALTER修改
create table ky32 (id int(4) not null,
name varchar(10) not null,
sroce decimal(5,2),
passwd char(48),
primary key(id));

null和空格的区别:
null什么都没有,对象没有任何的描述信息
空格:也是字符。

DML:数据操作语言,对表中的数据进行管理,
select
update更新
insert 添加
delete删除   对表进行删除操作。

DQL:查询数据记录:
select

DCL:数据控制语言,设置或者更改数据库用户或者用户的权限
GRANT赋予权限
REVOKE取消权限
TCL:事务控制语句,管理数据库当中的事务。
commit:确认提交事务。
ROLLBACK:事务提交之后无法回滚。
savepoint保存点,可以回滚。

命令

#查看数据库中的所有库mysql> show databases;

#格式:use 库名
mysql> use mysql;
mysql> show tables;

直接查看 

#格式: show tables from 库名mysql> show tables from mysql

先切换库,在查看指定表的字段

USE 数据库名; #切换库

SHOW TABLES; #查看库中的表

DESCRIBE 表名; #查看指定表的结构

直接查看表结构
DESCRIBE[数据库名.]表名;可缩写成:DESC 数据库名.表名;

创建数据库及数据库表
CREATE DATABASE数据库名;

总结

1.查看数据库和表:
show databases;

use 库名;

show tables;

desc 表名;

desc 表名\G

show  table 表名;

2.创建及删除数据库和表:
create database 库名;

create table 表名(字段1 数据类型 [属性], 字段2 .....);

DROP TABLE [数据库名.]表名;

DROP DATABASE 数据库名;

3.表数据的增删改查:
insert into 表名 values (所有字段的值);

insert into 表名 (指定字段名称) values(字段的值);

delete from 表名 [where ...];

update 表名 set 字段=值[, 字段2=....] [where ...];

select 字段1[,字段2....] from 表名 [where ...];

select * from 表名;

只看前2行
select * from ky32 limit 2;
查询2-4
select * from ky32 limit 1,3;

更新第6行的passwd列的信息,要求把信息加密
update ky32 set passwd=password('111') where id = 6;
根据name和sroce进行去重查询
select distinct name,sroce from ky32;5、查看表的结构desc ky32;
修改name列的数据类型,更改为varchar(15)

添加新的colunm,名字为birth类型为datealter table ky32 add birth date;

alter table ky32 modify column name varchar (15);
添加一条新的内容,id 9,name任意 sroce 任意密码加密 birth为当前时间,自动生成。

inset into ky32 values(9,'test',96,password('1111'),now()); timestamp
修改birth列的名称,改为birthday。类型为char(15).

alter table ky32 change birth birthday char(15);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/175556.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

qt 系列(一)---qt designer设计常用操作

最近转战qt, 主要用qt designer 进行GUI开发,记录下实战经验~ 1.前言 qt 是跨平台C图形用户界面应用程序开发框架,可以使用的IDE工具有 qt creator 和 vs, 这里我主要使用 Visual Studio 2017 工具进行程序开发与编写。 2. 环境配置 只写关键步骤~~ …

Apriori算法

Apriori算法是关联规则挖掘算法,也是最经典的算法。 Apriori算法是一种用于挖掘数据集中频繁项集的算法,进而用于生成关联规则。这种算法在数据挖掘、机器学习、市场篮子分析等多个领域都有广泛的应用。 Apriori算法是为了发现事物之间的联系的算法&am…

弱覆盖栅格图层制作

栅格边界生成及图层制作 栅格边界polygon生成 提取的弱覆盖栅格数据中包含了栅格中心经度和栅格中心维度,我们根据栅格中心经纬度生成对应的栅格边界POLYGON(20米*40米) 计算公式:polygon(栅格中心经度-0.00017 栅格中心纬度0.00…

详解—数据结构《树和二叉树》

目录 一.树概念及结构 1.1树的概念 1.2树的表示 二.二叉树的概念及结构 2.1概念 2.2二叉树的特点 2.3现实中的二叉树 2.4数据结构中的二叉树 2.5 特殊的二叉树 2.6二叉树的存储结构 2.6.1二叉树的性质 2.6.2 顺序结构 2.6.3链式存储 三. 二叉树的链式结构的遍历 …

【C语言_题库】C语言:编写一个程序,输入一组字符串,将字符串中的小写字母转换为大写字母,其它字符不变,并输出。

把键盘输入的一行字符串的小写字母转换成大写字母,其余字符不变,进行输出,直到遇到回车为止。 具体说明 【问题描述】 从键盘输入一行英文字符串,把所有小写字母变成大写字母,其他字母和字符保持不变。 【输入形式】 输入一行字符串,含大小写。 【输出形式】 输出大写字…

Yusi技术资讯博客wordpress模板

Yusi技术资讯博客wordpress模板,从第一感觉看上去,两栏结构直接将网站的内容展现,以红白灰色调搭配,一种低调协调的风格,喜欢该wordpress主题的朋友可以下载试试。 下载地址:https://bbs.csdn.net/topics/…

图的深度优先遍历的六种应用附Java代码

目录 无向图的连通分量个数 单纯求出了连通分量个数 能具体返回哪几个点是同一个连通分量 路径问题 单源路径问题 从某个顶点到另一个顶点的路径问题 检测无向图中的环 二分图的检测 无向图的连通分量个数 单纯求出了连通分量个数 import java.util.ArrayList;publi…

DoLa:对比层解码提高大型语言模型的事实性

DoLa:对比层解码提高大型语言模型的事实性 摘要1 引言2 方法2.1 事实知识在不同层级上演化2.2 动态早期层选择2.3 预测对比 3 实验3.1 任务3.2 实验设置3.3 多项选择3.3.1 TruthfulQA:多项选择3.3.2 FACTOR:维基、新闻 3.4 开放式文本生成3.4…

SUE3000 1VCF750090R804 REM615面板

SUE3000 1VCF750090R804 REM615面板 蓝色波长激光的特殊特性使扫描仪适用于各种材料的高精度轮廓和尺寸测量,包括闪亮的表面、炽热的发光金属、有机材料(如食品、木材和木质单板),以及透明或半透明材料,如塑料、玻璃、光学元件和薄膜/基底。…

【波形图】LabVIEW中的波形图和波形图表有什么区别?

波形图和波形图表在显示和更新数据的方式上有所不同。 波形图可接受各种类型的数据阵列,例如数组,波形或动态数据。波形图在接收到数据后将立即绘制所有接收到的数据点 。波形图不接受单点值。当您将包含数据点的数组连接到波形图时,波形图会…

Syntax Error: TypeError: this.getOptions is not a function的解决(Vue)

报错信息: TypeError: this.getOptions is not a function 这个是在运行项目是遇到的问题 这个报错是类型错误,this.getOptions 不是一个函数 。这个错误一般就是less-loader库里的错误。 主要是less-loader版本太高,不兼容this.getOptions…

AntDB数据库荣获 “2023年信创物联网优秀服务商”

日前,在2023世界数字经济大会暨第十三届智博会 2023京甬信创物联网产融对接会上,AntDB数据库再获殊荣,获评“2023年信创物联网优秀服务商”。 图1:2023年信创物联网优秀服务商颁奖现场 信创物联网是信息技术应用创新与物联网的结…

高并发和存储之间的关系是什么?

文章目录 🔊博主介绍🤖博主的简介📥博主的目标 🥤本文内容🍊 一、高并发对存储的压力🍊 二、存储的性能和可扩展性 📢总结 🔊博主介绍 📕我是廖志伟,一名Java…

【C语言初学者周冲刺计划】2.2用选择法对10个整数从小到大排序

目录 1解题思路: 2代码如下: 3运行结果: 4总结: 1解题思路: 首先利用一维数组和循环语句输入10个整数,然后利用双循环的嵌套进行比较大小,最后输出结果; 2代码如下: #include&…

[SWPUCTF 2021 新生赛]hardrce_3 无字母rce 自增

这里是过滤了 取反等符号 所以考虑自增 <?php header("Content-Type:text/html;charsetutf-8"); error_reporting(0); highlight_file(__FILE__); if(isset($_GET[wllm])) {$wllm $_GET[wllm];$blacklist [ ,\^,\~,\|];foreach ($blacklist as $blackitem){if …

一个小妙招从Prompt菜鸟秒变专家!加州大学提出PromptAgent,帮你高效使用ChatGPT!

夕小瑶科技说 原创 作者 | 谢年年、王二狗 有了ChatGPT、GPT4之后&#xff0c;我们的工作学习效率得到大大提升&#xff08;特别在凑字数方面୧(๑•̀◡•́๑)૭&#xff09;。 作为一个工具&#xff0c;有人觉得好用&#xff0c;自然也有人觉得难用。 要把大模型用得6&am…

Linux Spug自动化运维平台公网远程访问

文章目录 前言1. Docker安装Spug2 . 本地访问测试3. Linux 安装cpolar4. 配置Spug公网访问地址5. 公网远程访问Spug管理界面6. 固定Spug公网地址 前言 Spug 面向中小型企业设计的轻量级无 Agent 的自动化运维平台&#xff0c;整合了主机管理、主机批量执行、主机在线终端、文件…

群晖上搭建teamspeak3语音服务器

什么是 TeamSpeak &#xff1f; TeamSpeak &#xff08;简称 TS&#xff09;是一款团队语音通讯工具&#xff0c;但比一般的通讯工具具有更多的功能而且使用方便。它由服务器端程序和客户端程序两部分组成&#xff0c;如果不是想自己架设 TS 服务器&#xff0c;只需下载客户端程…

linux后台运行python脚本

前言 我们在运行程序时&#xff0c;有的程序花费时间较多&#xff0c;但我们总不能一直看着程序运行&#xff0c;所以我在这里记录一下&#xff0c;Linux服务器如何后台运行我们的脚本程序 实现后台运行程序 我们登录到服务器&#xff0c;切换至目录到我们所要运行的程序下 …

基于SSM的航空订票系统

基于SSM的航空订票系统的设计与实现~ 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringSpringMVCMyBatis工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 主页 用户界面 管理员界面 摘要 基于SSM的航空订票系统是一款面向旅客、航空公司和旅…