首页 文章 精选 留言 我的

精选列表

搜索[全栈智算],共10005篇文章
优秀的个人博客,低调大师

Python全栈 MySQL 数据库 (SQL查询、备份、恢复、授权)

ParisGabriel 每天坚持手写一天一篇 决定坚持几年 为了梦想为了信仰 开局一张图 今天接着昨天的说 索引有4种: 普通 索引 : index 唯一索引: unique 主键索引: primary key 外键索引: foreign key 索引查询命令: show index from 表名\G; Non_Unique:1 :index Non_Unique:0 :unique 外键索引(foreign key): 定义:让当前字段的值 在另一个表的范围 内选择 语法: foreign key(参考字段名) references 主表(被参考字段名) on delete 级联动作 on update 级联动作 使用规则: 主表、 从表字段 数据类型要一致 主表 被参考字段一般是: 主键 删除外键: alter table 表名 drop foreign key 外键名; 外键名查询:show create table 表名; 级联动作: cascade 级联 删除、更新(只限于参考字段) restrict(默认) 从表有相关 记录, 不允许主表操作 set NULL 主表删除、更新, 从表关联记录 字段值为NULL 已有表添加外键: alter table 表名 add foreign key(参考字段)reference主表(被参考字段) on delete ... on update ... 表的复制 复制表: create table 表名 select... from where 表名; 表结构: create table 表名 select * from 表名 where false; 注意: 复制表的时候 不会把原表的 键(key)属性复制过来 SQL 查询(高级) 嵌套查询(子查询): 定义: 把内层 查询结果作为外层的 查询条件 语法格式: select ...from 表名 where 条件(select...); 多表查询: 两种方式 1. select 字段名列表 from 表名列表;(笛卡尔积) select * from t1,t2 select t1.name,t2.name from t1,t2; 2. select t1.name,t2.name from t1,t2 where 条件 链接查询: 1.内链接 select 字段名 from 表1 inner join 表2 on 条件 inner join 表3 on 条件...; 2.外链接 1.左链接 以左表为主显示查询结果 select 字段名 from 表1 left join 表2 on 条件 left join 表3 on 条件...; 2.右链接 以右表为主显示查询结果 select字段名 from 表1 right join 表2 on 条件 right join 表3 on 条件...; 数据备份: mysqldump 在Linux终端操作 完全备份: mysqldump -u用户 -p源库名 > ~/xxx.sql --all-databases 备份所有库 库名 备份单个库 -B 库1 库2.. 备份多个库 库名 表1 表2... 备份指定库指定表 数据恢复: 恢复单个库 mysql -uroot -p < 目标库名 xxx.sql 从所有库备份中恢复某一个库(-one-database) mysql -uroot -p --one-database 目标库名 < xxx.sql 注意: 1. 恢复库 时如果 恢复到原库会将 表中的 数据覆盖, 新增表不会删除 2.数据恢复时 如果恢复的 库不存在,则 必须先创建空库 MySQL的账户管理: 1.开启mysql的远程连接 sudo -i cd /etc/mysql/mysql.conf.d/ subl mysql.cnf #bind-address = 127.0.0.1 注释掉 /etc/init.d/mysql restart 2.添加授权用户 用root用户登录mysql mysql -uroot -p123456 授权: grant 授权列表 on 库.表 to “用户名“@”%” identified by “密码” with grant option 权限列表: all privileges、select、insert 库.表: *.* 所有库所有表 示例: 1、添加授权用户tiger,密码123,对所有库的所有表有所有权限 grant all privileges on *.* to "tiger"@"%" identified by "123" with grant option;

优秀的个人博客,低调大师

Python全栈 MySQL 数据库 (简述 、安装、基本命令)

ParisGabriel 每天坚持手写一天一篇 决定坚持几年 为了梦想为了信仰 开局一张图 一个月的python已经结束了 下面就是数据库了 先说MySQL 这个数据库应该差不多是用户量最多的了 MySQL概述:1.什么是数据库: 存储数据的厂库2.有哪些公司在用数据库 金融机构、游戏网站、购物网站、论坛网站...3.提供数据库服务的软件: 1.软件的分类: MySQL、Oracle、SQL_Server、DB2、MongoDB、MariaDB 2.生产环境中,如何选择使用哪些数据库软件: 1.是否开源 1.开源软件:MySQL、Mariadb、MongoDB 2.商业软件:Oracle、DB2、SQL_Server 2.是否跨平台 1.不过平台:SQL_Server 2.跨平台:...... 3.公司的类型: 商业软件:政府部门、金融机构 开源软件:游戏网站、购物网站、论坛网址站 4.MySQL的特点: 1.关系型数据库 1.关系型数据库的特点 1.数据是以行和列(表格)的形式存储的 2.表格到的每一行是一条记录 ,没一列叫一个字段 3.表与表之间的逻辑关联叫关系 2.示例: 1.关系型数据库: 表1 学生信息表 姓名 年龄 班级 张三 25 三班 李四 25 六班 表2 班级信息表 班级 班主任 三班 大空翼 六班 松人 寻找张三的班主任是谁 通过两张表的关联关系能查询出来(查询功能强大) 2.非关系型数据库 {”姓名“:“张三”, ”年龄“:25, “班主任”} 以字典的形式存储 键值对形式纯在的 如果没有则则无法找到 (查询速度快) 2. 跨平台: 可以在Windows、Unix、Linux、上运行数据库服务 3. 支持多种编程语言 Python、Java、PHP.... 5.数据库软件、数据库、数据厂库的概念 1.数据库软件: 就是一个软件,看的见、可操作、是现实数据的逻辑功能 2.数据库: 是一种逻辑概念,用来存放数据的厂库,侧重于存储 3.数据厂库 从数据量来说,比数据库庞大的多,主要用于数据分析和数据挖掘 那个时间段用户登录最多,那个用户一年购物最多 MySQL的安装 1.Ubuntu安装MySQL服务 1.安装服务端 sudo apt-get install mysql-server apt-get系统自带到的安装服务 2.安装客户端 sudo apt-get install mysql-client 3.Ubuntu安装软件: 1.sudo apt-get update 访问源列表中的每个网址,读取软件列表,保存到本地 /var/lib/apt/lists 2.sudo apt-get upgrade 把本地已安装的软件与刚下的列表进行对比 如果发现已安装的软件版本低 则全部更新 3.sudo apt-get -f install 修复依赖关系 2.启动和链接MySQL服务 1.服务端启动 1.查看状态 sudo /etc/init.d/mysql status (查询) 2.启动 sudo /etc/init.d/mysql start (启动) sudo /etc/init.d/mysql stop (停止) sudo /etc/init.d/mysql restart(重启) sudo /etc/init.d/mysql reload(重新加载配置文件) 2.客户端链接 1.命令格式 mysql -h主机地址 -u用户名 -p密码 mysql -hlocalhost -uroot -p123456SQL命令的使用规则: 1.没填命令必须以 ; 结尾 2.SQL不区分大小写 3.使用\c 来终止当前命令执行2.库的管理: 1.库的基本操作 1.查看已有的库 show databases; 2.创建库 create database 库名; create database 库名 character set utf8;(字符编码) 3.查看创建库的语句(字符集) show create database 库名; 4.查看当前所在的库: select database(): 5.切换库 use 库名; 6.查看库中已有的表 show tables; 7.删除库 drop database 库名; 库名的命名规则: 1.数字、字母、下划线,但是不能使用纯数字 2.库的名字区分大小写 3.不能使用特殊字符和MySQL关键字 3. 表的管理2.表的基本操作 1.查看表 show tables 2.创建表 create table 表名( 字段名 数据类型, 字段名 数据类型, ....... ); 3.查看已有表的字符集 show create table 表名; 4.查看表结构 desc 表名; 5.删除表 drop table 表名;3.注意: 1.所有的数据都是以文件的形式存放在数据库根目录下 2.数据目录:/var/lib/mysql 4.mac安装mysql 1.cd 2.vi.bash_profile 添加:PATH=“$PATH”:/usr/local/myswl/bin 3.source .bash_profile5.表记录管理 1.插入(insert) 1.insert into 表名 values(值1),(值2).....; 2.insert into 表名(字段1,.....)values(值1),....; 2.查询(select) select * from 表名 [where 条件] 查询所有字段; select 字段名1,字段名2,... form 表名 [where 条件]; 6.如何更改默认字符集 1.方法(通过更改mysql配置文件实现) 2.步骤 1.获取root权限 sudo -i 2.cd /etc/mysql/mysql.conf.d/ 3.备份:cp mysql.cnf mysqld.cnf.bak 4.subl mysqld.cnf [mysqld] character_set_server = utf8 5.重启mysql服务 /etc/init.d/mysql7. 客户端把数据存储到数据库服务器上的过程 1.链接到数据库服务器 mysql -uroot -p123456 2.选择一个库 use 库名 3.创建表/修改表 update 表名... 4.断开与数据数据库链接 exit;| quit; | \q8.数据类型 1.数字类型 1.整型 1.int 大整型(4个字节) 取值范围:2**32 - 1(4294967295) 2.tinyint 微小整型(一个字节) 1.有符号(signed默认):-128 ~ 127 2.无符号(unsigned):0 ~ 255 3.smallint 小整型(2字节) 4.bigint 极大整型(8字节) 2.浮点型 1.float(4个字节,最多显示7个有效位) 1.用法: 字段名 float(m,n) m:总位数 n:小数位数 float(5,2)取值范围? -999.99 ~ 999.99 2.decimal(最多显示28个有效位) decimal(m,n) 存储空间(整数、小数分开存储) 规则:将9的倍数包装成4个字节 余数 字节 0 0 1-2 1 3-4 2 5-6 3 7-9 4 示例decimal(19,9) 整数部分: 10/9 = 1 % 1 4字节+1字节=5字节 小数部分: 9/9 = 1 % 0 4字节+0字节=4字节 共占:9字节 2.字符类型 1.char(定长) 1.取值范围:1~255 2.varcahr(变长) 1.取值范围:1~65535 3.text / longtext(存储范围:4G)/blob /longblob(4G)char和varchar的特点: 1.cahr:浪费储存空间,性能高 2.varchar:节省储存空间,性能低 3、练习 1、创建库testdb,指定字符集为 utf8 2、进入到库 testdb 3、查看当前所在库 4、创建库 testdb2,指定字符集为 latin1 5、进入到库 testdb2 6、查看 testdb2 的字符集(查看创建库的语句) 7、删除库 testdb 8、删除库 testdb2答案: create database testdb character set utf8; use testdb; select database(); create database testdb2 character set latin1; use testdb2; show create database testdb2; drop database testdb; drop database testdb2; 2、练习 1、创建库python1 2、在python1库中创建表 pymysql并指定字符集为utf8,字段有三个:id 、name char(15) 、 age 3、查看创建表pymysql的语句 4、查看pymysql的表结构 5、删除表pymysql 6、创建库python2 7、在python2中创建表t1并指定字符集为utf8,字段有 id 、name 、score,数据类型自己定义 8、查看t1的表结构 9、删除表t1 10、删除库 python2 答案: create database python1; use python1; create table pymysql( id int, name char(15), age int ) character set utf8; show create table pymysql; desc pymysql; drop table pymysql; create database python2; use python2; create table t1( id int, name char(15), score float(5,2) ) character set utf8; desc t1; drop table t1; drop database python2; 3、练习 1、查看所有的库 2、创建新库 studb 3、在 studb 中创建表 tab1 ,指定字符集utf8,字段有 id 、name、age 4、查看tab1的表结构 5、在tab1中随便插入2条记录 6、在tab1中的name、age两个字段插入2条记录 7、查看tab1中所有记录 8、查看tab1表中所有人的姓名和年龄 9、查看tab1表中年龄大于20的信息答案: show databases; create database studb; use studb; create table tab1( id int, name char(10), age int )character set utf8; desc tab1; insert into tab1 values (1,"张三丰",100),(2,"张无忌",30); insert into tab1(name,age) values ("金毛狮王",88),("紫衫龙王",87); select * from tab1; select name,age from tab1; select * from tab1 where age>20; 3、练习 1、创建库 studb2 ,并在库中创建表 stuinfo,要求: id :大整型 name :字符类型,宽度为15 age :微小整型,不能为负数 height :浮点型,小数位为2位(float) money :浮点型,小数位为2位(decimal) 2、查看stuinfo的表结构 3、查看stuinfo的默认字符集 4、在表中插入1条完整记录 5、查询所有表记录 6、在表中id 、name两个字段插入2条记录 7、查询所有学生的id和姓名答案: create table stuinfo( id int, name char(15), age tinyint unsigned, height float(5,2), money decimal(20,2) ); desc stuinfo; insert into stuinfo values (1,"Bob",23,176,88888.88); select * from stuinfo; insert into stuinfo(id,name) values (2,"Jim"),(3,"Tom"); select id,name from stuinfo; 8、作业1、MySQL中数据类型有:____ ____ 枚举类型 日期时间类型 整数型、字符型2、关系型数据库中的核心内容是 ___ 即 二维表 关系3、简述客户端把数据存储到数据库服务器上的过程 链接数据库 切换的相应的库 找到相应的表格进行操作 断开数据库链接4、char和varchar的区别,各自的特点 char:浪费储存空间 但性能高 varcchar:节省存储空间 但性能低5、操作 1、创建一个学校的库 school 2、在库中创建表 students 用来存储学生信息: id 大整型 姓名、年龄(不能为负)、性别、成绩(浮点) 3、查看students的表结构 4、在表中随意插入3条记录 5、在表中的 姓名、成绩两个字段插入3条记录 6、查看所有学生的姓名和成绩 8、查看成绩及格(>60分)的学生的姓名和成绩 答案: create database school; use school; create table students( id int, name char(15), age tinyint unsigned, gender char(2), score float(5,2) ); desc students; insert into students values (1,"张三",20,"男",95.56), (2,"李四",21,"男",98.30), (3,"王浅",21,"女",100); insert into students (name,score) values ("tom",60), ("lili",56), ("zhao",58.56); select name,score from sutdents; select name,score from students where score>=60;

优秀的个人博客,低调大师

“云”端的语雀:用 JavaScript 全栈打造商业级应用

作者| 不四(死马)蚂蚁金服 语雀产品技术负责人 语雀是什么? 语雀是一个专业的云端知识库,面向个人和团队,提供与众不同的知识管理,打造轻松流畅的工作协同,它提供各种格式的在线文档(富文本、表格、设计稿等)编辑能力,支持实时在线多人协同编辑,数据云端保存不丢失。而语雀与其他文档工具最大的不同是,它通过知识库来对文档进行组织,让知识创作者更好的管理知识。 语雀技术架构演进 原型阶段 语雀诞生于 2016 年,当时蚂蚁金融云需要一个工具来承载它的文档。当时负责的技术同学利用业余时间,开始搭建这个文档工具。项目的初期,没有任何人员和资源支持,同时也为了快速验证原型,技术选型上选择了最低成本的方案。 底层服务完全基于体验技术部内部提供的 BaaS 服务和容器托管平台: Object 服务:一个类 MongoDB 的数据存储服务; File 服务:阿里云

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册