
mysql
Allen__MB
这个作者很懒,什么都没留下…
展开
-
用户、授权、备份、事务
创建GAGA用户,密码是123,只能通过指定IP登录create user "GAGA"@"192.168.11.105" identified by "123";原创 2021-04-05 17:05:27 · 191 阅读 · 0 评论 -
索引
表索引索引是通过多路所搜树的方式存储数据的,每一个磁盘块代表一次IO操作读取的磁盘内容,可以看出采用树的形式查找数据比线性查找数据执行更少的IO操作。创建索引的原则:1.索引要创建在数据区分度高的字段,这样查找提升效率大。2.加索引的字段占空间要尽可能小,因为叶子节点基本是固定的,如果在占空间大的字段加索引,索引字段会占用更多次判断,会增加树深度,增加查找IO。聚集索引聚集索引即主键(primary key),一张表只能由一个聚集索引,聚集索引是InnoDB储存引擎组织数据储存的依据,如果一原创 2021-04-02 17:08:17 · 256 阅读 · 0 评论 -
sql注入
对于在输入用户名密码等需要用户自行输入内容并在mysql数据库中查询的语句,sql注入是一种常见的被攻击方式。#数据表场景create table userinfo(id int primary key auto_increment,user_name char(10),password char(10));insert into userinfo(user_name,password) values("gaga","123"),("mb","234");#模拟用户登录场景import pym原创 2021-03-31 16:12:02 · 258 阅读 · 0 评论 -
pymysql
pymysql是python提供的mysql客户端查数据import pymysqlconn = pymysql.connect( #先建立连接 host = "127.0.0.1", port = 3306, user = "root", database="test", password="123", charset="utf8")cursor = conn.cursor() #创建游标sql = "select * from dep;"原创 2021-03-31 15:17:04 · 106 阅读 · 0 评论 -
多表查询
场景:两张表,一张emp表内是员工数据,一张dep表是部门数据,emp表内pid字段关联dep表id字段。 insert into emp(name,post,salary) values ("gaga","tec",10000), ("xjj","sale",8000), ("mb","tec",9000), ("cjj","tec",9500), ("brownie","sale",6000), ("gagaga","manager",15000);create table dep(原创 2021-03-31 11:09:46 · 160 阅读 · 0 评论 -
mysql行增删改和单表查询
插入 insertinsert into 表名(字段1,字段2,字段3,……,字段n) values(值1,值2,值3,……,值n);如果不指定字段则需要在values处输入全部字段信息insert into book(id,name) values(1,"book1");将查询出的数据插入指定表insert into 表名1(字段1,字段2,字段3,……,字段n) select(字段1,字段2,字段3,……,字段n) from 表名2(where 字段 = condition);更新up原创 2021-03-30 17:30:23 · 126 阅读 · 0 评论 -
表的修改与三种外键约束模式
场景:存在book表和publish表,book表的pid字段外键关联了publish表的id字段create table publish(id int primary key auto_increment,name char(10));create table book(id int primary key auto_increment,name char(10),pid int not null,foreign key(pid) references publish(id);查看外键关系名称原创 2021-03-30 00:33:10 · 805 阅读 · 0 评论 -
忘记root密码的解决办法
如果忘记root密码,只能想办法跳过mysql的权限认证功能,因为正常启动mysqld服务一定会有密码验证。先停止mysqld服务:net stop mysql利用cd命令将执行目录改到bin输入mysqld.exe – skip-grant-tables再打开一个dos窗口用mysql进到客户端(这时已经跳过了密码验证)mysql的用户名密码都在一个名叫mysql的库里的user表内存着,所以只需要修改表里的数据就可以修改密码。use mysql;show tables;select us原创 2021-03-26 10:32:35 · 309 阅读 · 1 评论 -
mysql完整性约束
not null约束该字段不能为空create table t1(id int, name varchar(5) nut null);insert into t1(name) values ("cjj");default规定默认值create table t1(id int, name char(10), age int default 18);insert into t1(id,name) values(1,"gaga");unique不唯一create table t1(原创 2021-03-25 23:56:47 · 145 阅读 · 0 评论 -
MYSQL基础数据类型与严模式修改
数值类型类型大小范围(有符号)范围(无符号)TINYINT1字节(-128,128)(0,255)SMALLINT2字节(-32768,32768)(0,65535)MEDIUMINT3字节(-8388608,8388607)(0,167772155)INT或INTEGER8字节(-2147483648,2147483647)(0,4294967295)BIGINT8字节(-9233372036854775808,92333720原创 2021-03-25 00:25:28 · 248 阅读 · 0 评论 -
数据库基础SQL语句
客户端连接服务端时的完整指令mysql -h 127.0.0.1 -P 3306 -uroot -p #-h ip地址 -P 端口号#之后输入密码库操作show databases; #查看所有数据库use db1;#使用db1库drop database db1;#删除db1这个库表操作创建表语法:create table 表名(字段名1,类型[(宽度) 约束条件],字段名2,类型[(宽度) 约束条件],字段名3,类型[(宽度) 约束条件],);show table原创 2021-03-24 23:40:48 · 116 阅读 · 0 评论 -
mysql安装过程与无法启动服务的解决
mysql 5.6.47 windows解压版链接:https://pan.baidu.com/s/145jQ1jGp5hyGdIPa5n_rvw提取码:recv1.下载完成解压后可以放在任意地址2.需要在mysql-5.6.47-winx64路径下写my.ini文件,作为mysql服务端和客户端的配置3.my.ini的一种写法[client]# 设置mysql客户端默认编码default-character-set=utf8[mysql]# 设置mysql客户端默认编码default原创 2021-03-22 00:06:33 · 260 阅读 · 0 评论