首页
给我留言
友情链接
关于小站
Search
1
小狐狸ai创作系统1.8.3独立免授权版
671 阅读
2
小狐狸Ai创作系统1.9.2独立免费版
558 阅读
3
ChatGpt 中文调教指南
485 阅读
4
kali 安装OneForAll子域名扫描神器
294 阅读
5
利用服务器调用API搭建一个ChatGpt在线使用的WEB站点
290 阅读
乱七杂八
实用软件
电脑软件
安卓软件
程序源码
PHP源码
HTML5源码
其他源码
学习笔记
MySQL笔记
Linux
其他笔记
网络技术
主题模板
typecho
VPS推荐
国内VPS
国外VPS
登录
/
注册
Search
标签搜索
Linux
ChatGpt
宝塔面板
小狐狸ai
Windows
ai
php源码
网络工具
MySQL
网络技术
nginx
技术教程
网站搭建
电脑软件
SSH
SFTP
远程链接
MySQL笔记
css
node.js
SubEra
累计撰写
48
篇文章
累计收到
409
条评论
首页
栏目
乱七杂八
实用软件
电脑软件
安卓软件
程序源码
PHP源码
HTML5源码
其他源码
学习笔记
MySQL笔记
Linux
其他笔记
网络技术
主题模板
typecho
VPS推荐
国内VPS
国外VPS
页面
给我留言
友情链接
关于小站
搜索到
2
篇与
的结果
2023-04-30
MySQL常见报错问题以及解决方法
小白在学习MySQL的过程中会遇到很多问题,最多的问题应该就是报错了吧,以下是MySQL常见报错问题以及解决方法:1045错误:无法连接数据库解决方法:检查用户名、密码、主机名是否正确,并确保用户有访问数据库的权限。1064错误:语法错误解决方法:检查SQL语句是否有语法错误,例如缺少引号、括号等。2002错误:无法连接到MySQL服务器解决方法:检查MySQL服务器是否正在运行,并确保TCP/IP端口未被防火墙阻止。2013错误:丢失MySQL服务器连接解决方法:检查MySQL服务器是否正在运行,并尝试增加“wait_timeout”和“interactive_timeout”变量的值。1048错误:字段不能为空解决方法:检查是否将所有必需的字段填充,或者将该字段的默认值设置为非空。1215错误:无法添加外键约束解决方法:检查表是否已创建,并确保参考列与引用列的数据类型和大小匹配。1451错误:无法删除或更新父行解决方法:检查是否存在具有外键约束的表,并尝试解除或更改该约束。1452错误:无法添加或更新子行解决方法:检查是否存在具有外键约束的表,并确保在添加或更新行之前存在引用列的值。1062错误:唯一键冲突解决方法:检查是否在添加或更新行时使用了重复的唯一键值。一些常见的MySQL报错问题还有很多,之后会慢慢收集并发布到此站
2023年04月30日
31 阅读
0 评论
0 点赞
2023-04-12
常用的MySQL命令——入门必看笔记
分享一期MySQL学习笔记,全手打哦1.开启MySQL服务:net start 数据库服务名2、 停止MySQL服务:net stop 数据库服务名3.命令行登录MySQL服务的几种方式(1).先输入密码(-u和-p后面没有空格,前面有空格)MySQL –u用户名 -p密码(2).后输入密码MySQL –u用户名 -p(3).带主机地址登录(127.0.0.1和localhost都是本机地址)MySQL -h主机地址 -u用户名 -p密码(4).带主机地址登录MySQL --host=主机地址 --user=用户名 --password=密码退出服务:输入exit或者quit4.MySQL查看数据库列表show databases;5.MySQL创建数据库的几种方式(1).直接创建数据库:create database 数据库名称;(2).MySQL判断数据库是否存在再创建:create database if not exists 数据库名;(3).判断数据库是否存在再创建数据库,并设置数据库的字符集create database if not exists 数据库名character set utf8;6.MySQL查看数据库的创建信息show create database 数据库名;7.MySQL修改数据库的字符集编码alter database 数据库名character set utf8;8.MySQL判断数据库是否存在再删除数据库drop database if exists 数据库名;9.MySQL使用数据库(切换数据库)创建表之前必须要指定使用的数据库USE 数据库名;10.MySQL判断数据表不存在再创建数据表CREATE TABLE IF NOT exists 表名( 字段名1 数据类型(长度), 字段名2 数据类型(长度), 字段名n 数据类型(长度)); 11.MySQL查询当前使用的数据库Select database();12.MySQL查看数据表列表show tables;13.MySQL判断数据表如果存在再删除数据表drop table if exists 表名;14.MySQL判断数据表如果存在再删除多张表drop table if exists 表名1, 表名2;15.MySQL查看数据表的创建信息show create table 表名;16.MySQL查看数据库引擎show engines;查看mysql的版本号select version();17.MySQL查看数据表的结构:desc是简写的(1).desc 表名; (2).describe 表名;18.MySQL修改表名(1).alter table 原表名 rename to 新表名; (2).alter table 原表名 rename 新表名;19.MySQL删除表字段alter table 数据表名 drop 字段名;20.MySQL添加字段的方法(1).不指定位置(默认添加到表的最后一个位置)alter table 数据表名 add 字段名 数据类型(长度);(2).添加字段到表的第一个位置alter table 数据表名 add 字段名 数据类型(长度) first ;(3).添加字段1到字段2的后面alter table 数据表名 add 字段1 数据类型(长度) after 字段2 ;21.MySQL修改字段名alter table 数据表名 change 原字段名 新字段名 数据类型(长度);22.MySQL修改字段数据类型alter table 数据表名 modify 字段名 数据类型(长度);23.修改字段类型并将字段设置为表的第一个字段alter table 数据表名 modify 字段名 数据类型(长度) first;24.修改字段类型并将字段移动到指定字段后面alter table 数据表名 modify 字段名 数据类型(长度) after 指定字段;25.MySQL复制数据表语法1:将表结构所有都复制过来create table 新表名 select * from 被复制的表名;语法2:只复制表结构的指定列create table 新表名 select 字段名1,字段名2... from 被复制的表名;语法3:将表结构所有都复制过来create table 新表名 like 被复制的表名;26.MySQL创建数据表时添加约束create table if not exists 表名( 字段名 数据类型(长度) primary key, #添加主键 字段名 数据类型(长度) unique, #添加唯一约束 字段名 数据类型(长度) not null, #非空约束 字段名 数据类型(长度) default ‘值’, #默认约束 字段名 数据类型(长度) unique not null, #可以同时添加多个约束 primary key(字段名), #在字段列表末尾添加主键(跟前面的方式二选一) unique(字段名), #在字段列表末尾添加唯一约束(跟前面的方式二选一) foreign key(字段名) references 主表名(主表的主键));创建表时添加约束的注意事项:1、主键约束是非空且唯一的(两种写法:直接添加到主键字段的末尾、添加到字段列表的末尾)2、唯一约束不可以和默认约束一起使用(两种写法:直接添加到字段的末尾、添加到字段列表的末尾)3、非空约束可以和唯一约束、默认约束一起使用(一种写法:直接跟在字段的末尾)4、默认约束的值直接跟在default后面,值是数字不用加引号,是字符或中文要加英文的单引号(一种写法:添加到字段的末尾)5、外键约束的字段数据类型需要跟关联的主键字段的数据类型一致,需要指定关联的数据表和字段(这个字段必须是主键),可以不指定约束名称,MySQL会自动按照规则添加约束名称(一种写法:添加到字段列表的末尾)给已创建的数据表添加约束、删除约束27.MySQL主键约束:添加主键约束手动添加了约束名称alter table 表名 add constraint 约束名 primary key(字段名);没有添加约束名称,系统会字段指定约束名称alter table 表名 add primary key(字段名);MySQL删除主键约束alter table 表名 drop primary key;28.MySQL外键约束:添加外键约束指定约束名Alter table 表名 add constraint 约束名 foreign key(外键字段名) references主表(主表的主键字段);不指定约束名alter table 表名 add foreign key(外键字段名) references 主表(主表的主键字段);29.MySQL唯一约束:添加唯一约束指定约束名alter table 表名 add constraint 约束名 unique(字段名);不指定约束名alter table 表名 add unique(字段名);MySQL删除唯一约束关键词indexalter table 表名 drop index 约束名;关键词keyalter table 表名 drop key 约束名;注意:如果创建约束(主键、唯一约束)时没有指定约束名称,通过查看表的创建语句查看约束名30.MySQL查看表的创建语句Show create table 表名;31.MySQL非空约束:添加非空约束alter table 表名 modify 字段名 数据类型(长度) not null;MySQL删除非空约束alter table 表名 modify 字段名 数据类型(长度);32.默认约束:添加默认约束alter table 表名 modify 字段名 数据类型(长度) default 值;MySQL删除默认约束alter table 表名 modify 字段名 数据类型(长度);33.MySQL添加数据:(1).添加指定字段的数据一次添加一条数据Insert into 表名(字段1,字段2,字段n) values(值1,值2,值n);一次添加多条数据Insert into 表名(字段1,字段2,字段n) values(值1,值2,值n), (值1,值2,...,值n), (值1,值2,...,值n);(2).MySQL不指定字段添加数据一次添加一条数据insert into 表名 values(值1,值2,值n);一次添加多条数据Insert into 表名 values(值1,值2,值n),(值1,值2,值n),(值1,值2,值n);注意:1、如果添加指定字段的值,那么后面的值要跟前面的字段一一对应(值的位置,值的个数,值的数据类型)2、如果不指定字段,就必须添加所有字段的值,并且字段和值要一一对应(值的位置,值的个数,值的类型)34.MySQL修改数据语法:1、update 表名 set 字段1=值1,字段2=值,字段n=值n; 2、update 表名 set 字段1=值1,字段2=值,字段n=值n where 条件;注意:1、语法后面不跟where条件的话,就会把所有数据对应字段的值都修改了2、如果修改的是主表主键的值,并且该值已经被外键引用,就不可以修改,如果该值没有被引用,就可以修改3、若修改的是外键,修改之后的值必须是主表主键的值,否则就报错4、如果where条件有多个,要用and连接35.MySQL删除数据语法:1、delete from 表名; 2、delete from 表名 where 条件; 3、truncate table 表名;注意:1、语法后面不跟where条件的话,就会把所有数据都删除(切记切记)2、where后面的条件如果有多个,就用and连接,不能使用‘,’隔开3、如果删除的是主表的数据,已经被引用的那条数据就不能删除,没有被引用的数据可以删除4、delete是一条一条数据删除的,如果要删除所有数据,效率较低5、truncate是直接删除表,然后创建一张空表,但是要注意,这个不能用于删除主表(不管它的值是已经被引用)36.MySQL简单查询数据不带条件查询指定字段的数据select 字段1,字段2,字段n from 表名;MySQL不带条件查询所有字段的数据select * from 表名;MySQL带条件查询指定字段的数据select 字段1,字段2,字段n from 表名 where 条件; 注意:1、给字段起别名,直接在查询的字段后面添加:as '别名'2、*是通配符,表示所有字段36.MySQL排序select 字段1,字段2,字段n from 表名 where 条件 order by 字段1 排序规则1,字段2 排序规则2...;37.MySQL分页select 字段列表 from 表名 where 条件 limit 开始的索引,展示的行数;38.MySQL排序、分页一起使用select 字段列表 from 表名 where 条件order by 字段 排序规则 limit 开始的索引,展示的行数;注意:1、排序规则有两个:升序ASC、降序DESC2、可以对多个字段进行排序:order by 字段1 排序规则3、where条件可以省略的4、索引是从0开始算的,实际的数据是(索引+1)5、如果limit后面只跟一位数字,表示的是展示的行数,开始的索引默认为06、limit后面跟的两位数字,如果展示的行数多余索引后面数据的行数,那么只会展示索引后面的数据38.MySQL all:查询字段的所有值,包括重复的select all 字段列表 from 表名 where 条件;MySQL distinct:查询字段所有值,但是去除重复select distinct 字段列表 from 表名 where 条件;条件查询内的运算符(1)关系运算符:>、<、>=、<=、!=、<>、=(2)范围运算符:字段 between...and... 在....到....之间(结果是包含了两头的值)字段 not between...and... 不在....到....之间查询范围的时候,小的值写在前面,大的值写在后面(3)列表运算符:字段 in(值1,值2,值3...) 查询在值列表内对应的数据(括号内的值为“或”的关系)字段 not in(值1,值2,值3...) 查询不在值列表内对应的数据(括号内的值为“与”的关系)(4)空值判断:字段 is null 当某字段为空的时候字段 is not null 当某字段不为空时空值只能通过is进行判断,不能直接使用等号(5)模糊匹配运算符:字段 like '匹配规则' 字段包含匹配规则的数据字段 not like '匹配规则' 字段包含不匹配规则的数据匹配规则:% 占位(0或者多个)任意字符,下划线,占1个任意字符39.MySQL单表统计查询MySQL统计个数:countselect count(字段名) from 表名;MySQL求和:sumselect sum(字段名) from 表名;MySQL求平均数:avgselect avg(字段名) from表名;MySQL求最大值:maxselect max(字段名) from 表名;MySQL最小值:minselect min(字段名) from 表名;40.MySQL分组查询select 字段名 from 表名 group by 分组字段名; select 字段名from 表名 where 条件 group by 分组字段名 having 分组后条件;如果要分别统计每个员工的数据,就要使用主键进行分组时,字段也可以使用*代替根据字段进行统计(结果是排除了null值的),当统计所有数据的个数或者已经使用条件排除不需要的数据分组查询(子句查询):group by 字段 对数据进行分组(根据字段进行)1、需要对字段使用聚合函数进行统计时,要么先通过字段进行分组,要么带条件,然后统计,查询的结果包含分组字段和聚合函数2、分组是放在where条件之后的,其他子查询语句之前 having语句:分组之后的条件(条件要跟分组字段相关)having后也可以跟多个条件,可以结合||、or、and、&&、in使用注意:where条件在分组之前,having条件在分组之后(并且跟分组字段相关)综合语法:select 字段列表,聚合函数 from 表名 where 条件 group by 分组字段 having 条件 order by 排序字段 排序规则 limit 开始索引,查询的行数;41.MySQL交叉连接: select 字段列表 from 表1,表2;查询多张表的数据不带条件,会产生笛卡尔积笛卡尔积:有A、B两张表,将A和B表的结果进行交叉A:A1、A2、A3 三行数据B:B1、B2 两行数据结果:A1B1、A1B2、A2B1、A2B2、A3B1、A3B2注意:1、查询多个表,多个表有相同字段的就需要在相同字段前面加上表名,用法:表名.字段名2、查询多张表时,可以对查询的表起别名,但是条件和查询字段那里就不能直接使用表名,只能使用别名了3、如果查询多张表,表与表之间是可以使用多个inner join连接的,但是on只能有一个42.MySQL交叉链接 不带条件,会产生笛卡尔积select 字段名 from 表名1,表名2; select 字段名 from 表名1 cross join 表名2;MySQL内连接 inner是可以省略的,on表示条件(跟where是一样的)select 字段名 from 表名1 inner join 表名2 where 表名1.字段名=表名2.字段名; select 字段名 from 表名1 inner join 表名2 on 表名1.字段名=表名2.字段名;如果只查询两个表的部分字段,就需要在查询结果的字段前面加上表名用法:表名.字段名Select表名1.字段名, 表名1.字段名, 表名1.字段名n ,表名1.join_表名2,表名2.字段名 from 表名1,表名2 where 表名1.字段名=表名2字段名;MySQL外连接:MySQL左外连接 select 字段名 from 表1 left outer join 表2 on 条件;MySQL右外连接 select 字段名 from 表1 right outer join 表2 on 条件;注意:1、outer可以省略不写2、外连接要注意左右的主次关系3、查询多个表,多个表有相同字段的就需要在相同字段前面加上表名用法:表名.字段名43.MySQL子查询第一步:select 第一步字段名 from 表名1 where 查询条件(字段名) in('值1','值2','值n');第二步:将上一步查询出来的结果带入到语句中select * from 表名2 where 第一步字段名 in(上一步查询出来的值);总结以上语句:第二步括号内的值来自于第一步,就可以将括号内的值替换为第一步的语句内容select * from 表名2 where 第一步字段名 in(select 第一步字段名 from 表名1 where 查询条件(字段名) in('值1','值2','值3'));将一个查询语句嵌套在另一个查询语句内in子查询: in子查询语句得到的结果是单列多行的结果比较子查询: >、>=、<、<=、=、!=、<>比较子查询语句得到的结果是单行单列的结果exists子查询:判断是否存在该记录,如果存在就返回exists判断子查询的结果是否存在,如果存在就返回MySQL子查询的条件是依赖于外部查询的值select * from 表名1 where exists(select * from 表名2 where 表名1.字段名=表名2字段名);MySQL子查询在增删改语句中的应用43.MySQL增insert into 表名1(字段列表) select 字段名 from 表2;44.MySQL改update 表名 set 字段名=(返回单行单列结果的子查询) where 条件; update 表名 set 字段名=值 where 条件是带返回单个字段结果的子查询;45.MySQL删delete from 表名 where 字段名=(返回单个字段的子查询);46.MySQL集合查询集合查询就是将多个查询结果合并在一起union:将多个结果合并起来,并去除重复值union all:将多个结果合并起来,不去除重复值MySQL集合去除重复值查询select 查询字段 from 表名 where 条件 union select 查询字段 from 表名 where 条件;MySQL集合不去除重复值查询select 查询字段 from 表名 where 条件 union all select 查询字段 from 表名 where 条件;47.MySQL视图创建视图语法:[]内容表示可选 create [or replace] view 视图名[(列1,,列2,...,列n)] as select语句 with check option;注意:1、or replace:如果已存在视图(视图名已经存在了),替换原有的视图,可选项2、列1-列n:用于声明视图内的字段名(将查询的结果字段名起别名),可选项3、as:不可省略4、select语句:将查询的结果封装在视图里5、with check option:限制通过该视图修改的记录要符合select语句中指定的选择条件,可选项*视图也是一张虚拟表,所以查询视图的时候就用查询数据的select语句如简写创建视图:查询所有女生的信息create view 视图名 as select语句;MySQL查询视图数据:select 字段列表 from 视图名 where 条件;MySQL查看视图结构describe 视图名;MySQL查看视图的基本信息show table status like '视图名';MySQL查看视图的创建信息show create view 视图名;MySQL修改视图语句Alter view 视图名 as Sql语句;MySQL删除视图Drop 视图名;48.MySQL函数创建 Create procedure 函数名(in | out | inout 参数名 参数类型) Begin Select语句 End;MySQL函数调用 Call 函数名(参数);MySQL函数创建 create PROCEDURE 函数名(in 参数名 参数类型,out 返回参数名 参数类型) begin select 字段 from 表名 where 条件 into 返回参数名; end;MySQL调用带参函数 call 函数名('参数名',@返回参数名); select @返回参数名;MySQL重置自动增长的值ALTER TABLE 要重置的表名 AUTO_INCREMENT = value;MySQL笔记的分享就到这里,如果你发现文章当中出现描述错误或者代码错误,请务必留言如果你觉得笔记不错,请联系我获取word版本
2023年04月12日
63 阅读
0 评论
0 点赞