数据库基础编程

article/2025/9/20 2:38:44

连接mysql在黑窗口

mysql -u root -p
#登录MySQL

SQL语句分类

数据库操作

创建数据库

create database [if not exists] db_name;

1.character set :指定数据库采用的字符集,如果不指定字符集,默认utf8

2,collate:指定数据库字符集的校对规则(常用utf8_bin区分大小写)

删除数据库

drop database 数据库名;
select * from 表名;

展现所有数据库

show databases;

数据备份

mysqldump -u root -p -B 数据库1 数据库2 数据库n>文件名.sql

恢复数据库

source 文件名;

表的操作

创建表

create table 表名(
field1 datatype
field1 datatype
field1 datatype
);
​
character set :字符集    collate:校对规则   engine:引擎
field:指定列名  datatype:指定列类型  
character set :如不指定则为所在数据库字符集
collate:如不指定则为所在数据库校对规则
engine:存储引擎

添加数据

insert into 表名 values(数据,数据,数据);

修改表操作

alter table 表名 add 列名 数据类型;

删除列

alter table 表名 drop 列名;  

列名修改

alter table 表名 change '原列名' '新列名' 数据类型

插入数据

insert into 表名 (数据类型,数据类型,......);

删除表中元素

delete from 表名;//删除所有元素
delete from 表名 where 条件 //删除某一行

更改表中元素

update 表名 set 列名=要修改为 where

Select语句

使用order by 子句排序查询结构

select * from 表名 order by 列名 asc|desc;
//ASC 升序| desc 降序

distinct去重关键字

MySQL类类型

数值类型

整型

1,tinyint:一个字节 2,smallint:两个字节 3,mediumint:三个字节 4,int:四个字节 5,bigint:八个字节

小数类型

1,float:单精度4字节 2,double:双精度8字节 3,decimal[M,D]:

文本类型

1,char:0~255 2,varchar:0~65535 4,text 4, longtext

二进制数据

1,blob 2,longblob

日期类型

1,date【日期 年月 日】 2,time【时间 时分 秒】 3,datetime【年 月 日时分秒 YYYY-MM--DD HH:DD:SS】

4,timestamp:时间戳

函数

统计函数

select count(*) from 表名;

时间函数

 

1,查询时间

select now();//查询当前时间带时分秒
select curdate();//查询当前时间不带时分秒

2,str_to_date:将字符通过指定格式转化为日期

3,date_format:将日期转为字符

 

 

加密函数

 

  

流程控制函数

 

 

MySQL表查询增强

 

 

MySQL子查询

子查询是指嵌入在其他sql语句中的select语句,也叫嵌套查询

单行子查询是指只返回一行数据的子查询语句

多行子查询指返回多行数据的子查询,使用关键字in

自我复制

表内容复制

insert into 表名 select * from 需要复制的表名;

 

 

表结构复制

create table 表名 like 需要复制的表名;

合并查询

union all将两个查询结果合并,不会去重

 

 

 

union将两个查询结果合并 并去重

 

 

MySQL表外连接

左外连接

select ..... from 表1 left join 表2 on 条件;

右外连接

select ..... from 表1 right join 表2 on 条件;

外键约束foreign key(外键)

1,外键指向的表的字段,要求是primary key 或者是unique

2,表的类型是innodb,这样的表才支持外键

3,外键字段的类型要和主键的类型一致

4,外键字段的值,必须在主键字段中出现过,或者为null

5,外键关系一旦建立,数据不能随意更改

 

 

check关键字

用于强制行数据必须满足的条件,假定在sal列上定义了check约束,并要求sal列值在1000·2000之间如果不再1000·2000之间就会提示出错

MySQL索引优化

创建索引

create index 索引名称 on 表名(列创建索引);

查询表是否有所欲

show indexes from 表名;

添加唯一索引

create unique index 索引名 on 表名(列名);

添加普通索引

create index 索引名 on 表名(列名);

删除索引

drop index 索引名 on 表名;

删除主键索引

alter table 表名 drop primary key;

MySQL事务

基本概念

事务用于保证数据的一致性,它由一组相关的dml语句组成,该组的dml语句要么全部成功,要么全部失败

重要操作

1,start transaction :开始一个事务

2,savepoint:保存点名 ----设置保存点

3,rollback to :保存点名---回退事务

4,rollback: 回退全部事务

5 ,commit :提交事务,所有的操作生效,不能退回

MySQL事件隔离

 

 

 

查看隔离级别

select @@transaction_isolation_isolation;//查看当前会话隔离级别
select @@global.transaction_isolation_isolation;//查看系统当前隔离级别

设置隔离级别

set session transaction isolation level 隔离级别;//
set global transaction isolation level 隔离级别

MySQL引擎

基本介绍

1,MySQL的表类型由存储引擎(storage Engines)决定,主要包括MyISAM,innoDB,Memory等

2,MySQL数据表主要支持六种类型,分别是:CSV,Memory,ARCHIVE,MRG_MYISAM,MYUSAM,innoDB

3,这六种又分两类,一类是“事务安全型”比如:InnoDB;其余都属于第二类,称为 “非安全事务型”

如何使用存储引擎

1,如果你的应用不需要事务,处理的只是基础的CRUD操作,那么MyISAM是不二选择,速度快

2,如果需要支持事务,选择InnoDB

3,,Memory存储引擎就是将数据存储在内存中,由于没有磁盘I./O的等待,速度极快,但是由于是存储引擎,所做的如何修改在服务器重启之后都消失

指令修改存储引擎

alter table 表名 engine=引擎名;

MySQL视图

1,视图是根据基本来创建的,视图是虚拟的表

2,视图也有列,数据来自基表

3,通过视图可以修改基表数据

4,基本的改变,也会影响视图的数据

视图的基本使用

1,create view 视图名 as select 语句

2,alter view 视图名 as select语句

3,show create view 视图名

4,drop view 视图名1 ,视图名2

创建视图

create view 视图名 as select 列1,列2 from 表名;

查看视图

desc 视图名;

查看创建视图指令

show create view 视图名;

删除视图

drop view 视图名

MySQL用户管理

创建用户

create user '用户名' @ '允许登录位置' identified by '密码'

修改自己的密码

set password =password ('新密码');

修改别人的密码

ALTER USER '用户名'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '新密码';

MySQL权限管理

 

 

回收用户权限

revoke select,.... on 数据库名.表名 from '用户名'@'登录位置'

删除用户

drop user '用户名'@'登陆位置';

用户管理细节

在创建用户的时候,如果不指定host,则为%,%表示所有ip都有连接权限

create user 用户名;


http://chatgpt.dhexx.cn/article/XFEl6Sxg.shtml

相关文章

数据库编程

数据库编程 T-SQL编程基础知识 标识符 标识符分类 常规标识符(严格遵守标识符格式规则) 界定标识符(引号”或方括号[])标识符格式规则 字母或_、、#开头的字母数字或_、、$序列 不与保留字相同 长度小于128 不符合规…

数据库编程之ODBC编程

ODBC优点 移植性好 能同时访问不同的数据库 共享多个数据资源 ODBC概述 ODBC产生的原因 由于不同的数据库管理系统的存在,在某个关系数据库管理系统下编写的应用程序就不能在另一个关系数据库管理系统下运行 许多应用程序需要共享多个部门的数据资源&#xff0c…

第8章 数据库编程

文章目录 ❖第一节 T-SQL编程基础标识符注释语句表达式SET、SELECT区别 流程控制语句选择结构❖IF ELSECASE语句搜索式CASE语句 循环结构等待语句返回语句 系统函数标量函数日期和时间函数字符串函数 数据类型转换函数 ❖第二节 游标(重点)1. 声明游标2.…

teredo实现ipv4公网环境下接入ipv6

teredo实现ipv4公网环境下接入ipv6 系统:macOS High Sierra 10.13.3 测试成功 软件下载 下载安装Miredo http://www.deepdarc.com/miredo-osx-prerelease2.pkg.zip 项目github地址:https://github.com/darconeous/miredo-osx下载安装tuntaposx http…

Tornado简介

Tornado龙卷风是一个开源的网络服务器框架,它是基于社交聚合网站FriendFeed的实时信息服务开发而来的 Tornado是使用Python编写的Web服务器兼Web应用框架与主流Web服务器框架不同的是,Tornado是异步非阻塞式服务器,得益于非阻塞式和对epoll模…

【小白教程】win10系统如何开启ipv6

Teredo 是一种网络协议,用于在客户端和服务器之间建立安全通信,并且在使用网络地址转换 (NAT) 的路由器后增强设备之间的连接。 #####以下代码均在cmd窗口运行###### 一、设置Teredo 服务器 1、设置Teredo 服务器 netsh interface teredo set state …

Teredo Tunnel Adapter: Error Code 10

Teredo Tunneling 该设备无法启动 错误代码 ErrCode:10 解决方法 前文: Win7 系统,打算开启IPV6,本地连接的网络 ip6 驱动是异常的,先重新安装了网卡驱动。 过程: 几次尝试之后,还是无法启动,…

地平线不能多人联机解决方法

玩地平线4时可能会出现无法连接多人网络问题,在Xbox网络中出现Teredo不合格的问题。 解决方案: 按WinR输入gpedit.msc打开组策略编辑器,依次选择管理模块、网络、TCPIP设置、IPv6转换技术。双击设置6to4状态,点已启用&#xff0c…

微软的teredo服务器,win10系统通过teredo连接ipv6的操作方法

win10系统通过teredo连接ipv6的操作方法? 很多win10用户在使用电脑的时候,会发现win10系统通过teredo连接ipv6的的现象,根据小编的调查并不是所有的朋友都知道win10系统通过teredo连接ipv6的的问题怎么解决,不会的朋友也不用担心&#xff0c…

TCP/IP卷一:55---UDP之(UDP与IPv6、Teredo)

前一篇文章(https://blog.csdn.net/qq_41453285/article/details/103984794)对UDP和UDP数据报、UDP校验和做了简单的介绍,本片文章介绍一些UDP与IPv6有关的知识 一、IPv6下的UDP 考虑到简单性,在对IPv6而非IPv4进行操作时&#…

miredo - Teredo IPv6 tunneling for Unix

世界 IPv6 日:2011年6月8日 Test your IPv6:http://test-ipv6.com 安装miredo sudo apt-get install miredo 编辑miredo配置文件,加入teredo 的公共服务器地址,如ServerAddress teredo-debian.remlab.net sudo gedit /etc…

teredo 未能解析服务器名,Win10系统Xboxlive显示Teredo无法进行限定怎么解决

有的朋友会在windows10电脑上用Xbox live游玩游戏,但是碰到Xbox live设置显示Teredo无法进行限定,这时候我们该怎么办呢,下面由小编给大家介绍如何解决win10系统Xbox live显示Teredo无法进行限定。 具体步骤如下: 1.按下键盘上的&…

报PING:传输失败。常见故障.connect:network is unreachable“的解决方案-IPv6无法ssh连接的解决方案。

vultr当前2.5美金的vps只有IPv6,很多使用者无法正常使用ssh连接等,报PING:传输失败。常见故障。connect:network is unreachable 很多使用者不知所措,笔者也是一脸懵逼,经过一番研究之后,发现了…

微软的teredo服务器,win10系统通过teredo连接ipv6的具体教程

有关win10系统通过teredo连接ipv6的操作方法想必大家有所耳闻。但是能够对win10系统通过teredo连接ipv6进行实际操作的人却不多。其实解决win10系统通过teredo连接ipv6的问题也不是难事,小编这里提示两点:1、在“开始”里输入“cmd”,右击&am…

Win11地平线4 Xbox live无法登录?或者地平线4无法使用在线模式?尝试一波!!!

全是抄袭,只做整理,希望帮到大家,啥也不懂!但是!我就是这样弄好的 侵权 联系 我 就下架,但是只是想让大家可以解决问题 以下是我参照的文章: XBOX NAT类型:Teredo不合格解决方案 - 知乎 (zhi…

Win7使用teredo连接IPv6的方法

(1) 在 ” 开始 ”->” 运行 ” 中输入 cmd 打开 Windows 命令行。在命令行中输入 ipconfig /all ,会出现若干网络配置信息,找到 Tunnel adpter (隧道适配器) Teredo Tunneling Pseudo-Interface , 查看它是否有正确…

关于Win10用户地平线线上连接xbox live失败问题

问题描述 游玩地平线系列游戏时,无法进入线上游戏游玩更多游戏内容,且无法与朋友联机,问题未知,并且更改加速器节点也没有用。本解决方案针对Win10的小伙伴,Win11的小伙伴可以参考一下。 解决方案 主要是解决xbox网络…

关于解决NAT 类型显示“Teredo 无法获得资格”的一个案例

在试过了网上很多的方法之后,发现依旧解决不了,最后发现了xbox官方的一个解决方法并且成功。(这个是在完成了网上众多方法的前提下才解决的) 链接:Xbox Support。 其中我估计解决方案2到5就是网上众多的解决方法,由于本…

teredo报文格式

teredo报文是一项 IPv6 / IPv4 过渡技术,为能够通过 IPv4 NAT, IPv6 数据包作为基于 IPv4 的用户数据包协议(UDP) 消息发送出去。 格式如下: 注意,外层为V4报文,内层为V6报文,V4报文后的UDP报文的目的端口…

Teredo 概述

Teredo 概述 发布日期: 2004年05月14日 摘要 了解 Teredo (又成为面向 IPv6 的 IPv4 NAT [网络地址转换]穿越,是一项 IPv6 / IPv4 过渡技术,在 IPv6 / IPv4 主机位于一个或多个 IPv4 NAT 之后时,用来为单播 IPv6 连接提…