-- 在控制台连接数据库(需将位置切换到mysql所在地址)
mysql -u root -p
password:12345
-- 修改mysql账户密码及权限,安装配置完后慎用
update mysql.user set authentication_string = password('12345') where user = 'root' and Host = 'localhost';-- 修改用户密码
flush privileges; -- 刷新权限
--------------------------------------------------
-- 所有语句需要使用;作为结尾
show databases; -- 查看所有数据库
use test01; -- 切换数据库 use+数据库名
show tables; --查看数据库中所有的表
describe `user`; --显示某张表的信息
create database test01; -- 创建一个数据库
exit; -- 退出连接
-- 单行注释
-- 下面是多行注释
/*
hello
*/
操作数据库>操作数据库中的表>操作数据库中表的数据
mysql关键字不区分大小写!!
CREATE DATABASE test01; -- 创建数据库01
-- 但问题是如果test01存在,系统会报错
-- 所以一般会加入一个判断条件
CREATE DATABASE IF NOT EXISTS test01;
DROP DATABASE IF EXISTS test01;
-- tab键上方有一个``,如果数据库的表名或者字段名是一个特殊字符,就需要添加
USE `test01`;
SHOW DATABASES; -- 查看所有数据库
数字
unsigned:
zerofill:
自增


/*每一个表都必须存在以下五个字段,未来做项目都有用,表示一个记录存在的意义
id 主键
is_delete 伪删除
gmt_create 创建时间
gmt_update 更新时间
*/
-- 目标:创建一个school数据库
-- 创建学生表(列,字段) 使用SQL语句创建
-- 学号int 登陆密码varchar(20) 姓名 性别varchar(2) 出生日期(datetime) 家庭住址 email
-- 注意点,使用英文(),表的名称和字段尽可能使用``括起来
-- AUTO_INCREMENT 自增
-- 字符串使用单引号括起来;
-- 所有的语句后面加,(英文的),最后一个不用加
-- PRIMARY KEY 主键,一般一个表只有一个唯一的主键
CREATE TABLE IF NOT EXISTS `studentinformation`(
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
`name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT'姓名',
`pwd` VARCHAR(20) NOT NULL DEFAULT '12345' COMMENT'密码',
`sex` VARCHAR(2) NOT NULL DEFAULT'男' COMMENT'性别',
`birthday` DATETIME DEFAULT NULL COMMENT'出生日期',
`address` VARCHAR(100) DEFAULT NULL COMMENT'家庭地址',
`email` VARCHAR(50) DEFAULT NULL COMMENT'电子邮箱',
PRIMARY KEY(`id`)
)ENGINE = INNODB DEFAULT CHARSET=utf8
格式
CREATE TABLE [IF NOT EXISTS] `表名`(
`字段名` 列类型 [属性] [索引][注释],
`字段名` 列类型 [属性] [索引][注释],
·······
`字段名` 列类型 [属性] [索引][注释]
)[表类型][字符集设置][注释]
-- 关于数据库引擎
/*
INNODB 默认使用~
MYISAM 早些年使用
*/
| MYISAM | INNODB | |
|---|---|---|
| 事务支持 | 不支持 | 支持 |
| 数据行锁定(同步) | 不支持 | 支持 |
| 外键约束 | 不支持 | 支持 |
| 全文索引 | 支持 | 不支持 |
| 表空间大小 | 较小 | 较大,约为前者2倍 |
常规使用操作:
在物理空间的位置
所有的数据库文件都存在data目录下
所以数据库的本质还是文件的存储
Mysql引擎在物理文件上的区别
设置数据库表的字符集编码
CHARSET = utf8
也可以采取在数据库安装目录下新建一个ini文件的方式进行默认设置。不如不单独设置,系统会默认为一个latin字符集,我的ini文件格式如下:
#设置3306端口
port=3306
#设置mysql的安装目录 ----------是你的文件路径-------------
basedir=E:\WorkappPackage\Mysql\mysql-8.0.32-winx64
#设置mysql数据库的数据的存放目录 ---------是你的文件路径data文件夹自行创建
#datadir=E:\WorkappPackage\Mysql\mysql-8.0.32-winx64\data
#允许最大连接数
max_connections=200
#允许连接失败的次数。
max_connect_errors=10
#服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
#设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
修改
-- 修改表名:ALTER TABLE 旧表名 RENAME AS 新表名
ALTER TABLE test01 Rename AS test02
-- 增加表的字段:ALTER TABLE 表名 ADD 字段名 列属性
ALTER TABLE test02 ADD age INT(10)
-- 修改表的字段(重命名,修改约束)
-- ALTER TABLE 表名 MODIFY 字段名 列属性[]
ALTER TABLE test02 MODIFY age VARCHAR(10)
-- ALTER TABLE 表名 CHANGE 旧名字 新名字 列属性[]
ALTER TABLE test01 CHANGE age age1 INT(1) -- 字段重命名
-- 删除表的字段
ALTER TABLE test01 DROP age1
删除
-- 删除表(加入判断条件,如果存在再删除)
DROP TABLE IF EXISTS test01
方式一:在创建表的时候,增加外键语句和关联语句等约束(比较复杂)
CREATE TABLE IF NOT EXISTS `studentinformation`(
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
`name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT'姓名',
`pwd` VARCHAR(20) NOT NULL DEFAULT '12345' COMMENT'密码',
`sex` VARCHAR(2) NOT NULL DEFAULT'男' COMMENT'性别',
`birthday` DATETIME DEFAULT NULL COMMENT'出生日期',
`gradeid` INT(3) NOT NULL COMMENT'年级id',
`address` VARCHAR(100) DEFAULT NULL COMMENT'家庭地址',
`email` VARCHAR(50) DEFAULT NULL COMMENT'电子邮箱',
PRIMARY KEY(`id`),
KEY `FK_gradeid`(`gradeid`), -- 外键名称设置
CONSTRAINT `FK_gradeid` FOREIGN KEY (`gradeid`) REFERENCES `grade`(`gradeid`) -- 关联约束设置
)ENGINE = INNODB DEFAULT CHARSET=utf8
CREATE TABLE IF NOT EXISTS `grade`(
`gradeid` INT(3) NOT NULL COMMENT'年级id',
`gradename` VARCHAR(10) NOT NULL COMMENT'年级名称',
PRIMARY KEY(`gradeid`)
)ENGINE = INNODB DEFAULT CHARSET=utf8

方法二:正如上面所示,可以在外键部分手动添加,这里不做展开,与上面运行结果类似即可
方法三:
CREATE TABLE IF NOT EXISTS `grade`(
`gradeid` INT(3) NOT NULL COMMENT'年级id',
`gradename` VARCHAR(10) NOT NULL COMMENT'年级名称',
PRIMARY KEY(`gradeid`)
)ENGINE = INNODB DEFAULT CHARSET=utf8
-- 外部创建外键约束
CREATE TABLE IF NOT EXISTS `studentinformation`(
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
`name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT'姓名',
`pwd` VARCHAR(20) NOT NULL DEFAULT '12345' COMMENT'密码',
`sex` VARCHAR(2) NOT NULL DEFAULT'男' COMMENT'性别',
`birthday` DATETIME DEFAULT NULL COMMENT'出生日期',
`gradeid` INT(3) NOT NULL COMMENT'年级id',
`address` VARCHAR(100) DEFAULT NULL COMMENT'家庭地址',
`email` VARCHAR(50) DEFAULT NULL COMMENT'电子邮箱',
PRIMARY KEY(`id`)
)ENGINE = INNODB DEFAULT CHARSET=utf8
-- 创建表的时候没有外键关系
-- 外部添加外键约束
ALTER TABLE `studentinformation`
ADD CONSTRAINT `FK_gradeid` FOREIGN KEY (`gradeid`) REFERENCES `grade`(`gradeid`)
-- 结构
ALTER TABLE 表
ADD CONSTRAINT 约束名 FOREIGN KEY(`作为外键的列`)
最佳实践
参考文章:https://www.cnblogs.com/rjzheng/p/9907304.html
数据库意义:数据存储、数据管理
DML语言:数据操作语言
格式
-- 插入语句(添加)
-- INSERT INTO 表名 (`字段名1`,`字段名2`,`字段名3`) VALUES('第一条数据字段1数据','第一条数据字段2数据','第一条数据字段3数据'),('第二条数据字段1数据','第二条数据字段2数据','第二条数据字段3数据')····
-- 例:
INSERT INTO `grade`(`gradename`)VALUES('大一')
-- 需注意的是,跟在表名后面的括号内容可以选择表中的部分字段,但是需要观察表结构,那些非空且没有默认值的或者没设置自增的字段必须包括在内,否则会报错。还需注意,选定了括号内容后,VALUES后面的括号内的结构需与前面保持一致。如果想一次性添加多条数据,需要在括号中间用“,”隔开。
-- 错误示例:
INSERT INTO `grade` VALUES('大二')
-- 此处在表名`grade`后面没有括号,因此Mysql就会默认格式为全部字段。依照上面所述,数据库会对VALUES后面数据进行匹配。因此会报错。
-- 正确示例:
INSERT INTO `grade` VALUES(2,'大二')
-- 插入多条数据
INSERT INTO `grade`(`gradename`)
VALUES ('大三'),('大四')
注意事项:
文章目录一、概述简介原理模块二、配置Mysql使用版本环境要求1.操作系统2.mysql要求三、配置canal-server离线下载在线下载上传解压修改配置单机配置集群配置分库分表配置1.修改全局配置2.实例配置垂直分库水平分库3.修改group-instance.xml4.启动监听四、配置canal-adapter1修改启动配置2配置映射文件3启动ES数据同步查询所有订阅同步数据同步开关启动4.验证五、配置canal-admin一、概述简介canal是Alibaba旗下的一款开源项目,Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。Git地址:https://github.co
目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称
最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总
深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal
我完全不是程序员,正在学习使用Ruby和Rails框架进行编程。我目前正在使用Ruby1.8.7和Rails3.0.3,但我想知道我是否应该升级到Ruby1.9,因为我真的没有任何升级的“遗留”成本。缺点是什么?我是否会遇到与普通gem的兼容性问题,或者甚至其他我不太了解甚至无法预料的问题? 最佳答案 你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的gem,请避免使用它们(因为它们很可能不被维护)。如果您对gem是否兼容1.9.2有任何疑问,您可以在以下位置查看:http://www.railsplugins.or
我看到其他人也遇到过类似的问题,但没有一个解决方案对我有用。0.3.14gem与其他gem文件一起存在。我已经完全按照此处指示完成了所有操作:https://github.com/brianmario/mysql2.我仍然得到以下信息。我不知道为什么安装程序指示它找不到include目录,因为我已经检查过它存在。thread.h文件存在,但不在ruby目录中。相反,它在这里:C:\RailsInstaller\DevKit\lib\perl5\5.8\msys\CORE\我正在运行Windows7并尝试在Aptana3中构建我的Rails项目。我的Ruby是1.9.3。$gemin
我已经开始使用mysql2gem。我试图弄清楚一些基本的事情——其中之一是如何明确地执行事务(对于批处理操作,比如多个INSERT/UPDATE查询)。在旧的ruby-mysql中,这是我的方法:client=Mysql.real_connect(...)inserts=["INSERTINTO...","UPDATE..WHEREid=..",#etc]client.autocommit(false)inserts.eachdo|ins|beginclient.query(ins)rescue#handleerrorsorabortentirelyendendclient.commi
如何学习ruby的正则表达式?(对于假人) 最佳答案 http://www.rubular.com/在Ruby中使用正则表达式时是一个很棒的工具,因为它可以立即将结果可视化。 关于ruby-我如何学习ruby的正则表达式?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1881231/
深度学习12.CNN经典网络VGG16一、简介1.VGG来源2.VGG分类3.不同模型的参数数量4.3x3卷积核的好处5.关于学习率调度6.批归一化二、VGG16层分析1.层划分2.参数展开过程图解3.参数传递示例4.VGG16各层参数数量三、代码分析1.VGG16模型定义2.训练3.测试一、简介1.VGG来源VGG(VisualGeometryGroup)是一个视觉几何组在2014年提出的深度卷积神经网络架构。VGG在2014年ImageNet图像分类竞赛亚军,定位竞赛冠军;VGG网络采用连续的小卷积核(3x3)和池化层构建深度神经网络,网络深度可以达到16层或19层,其中VGG16和VGG
文章目录1、自相关函数ACF2、偏自相关函数PACF3、ARIMA(p,d,q)的阶数判断4、代码实现1、引入所需依赖2、数据读取与处理3、一阶差分与绘图4、ACF5、PACF1、自相关函数ACF自相关函数反映了同一序列在不同时序的取值之间的相关性。公式:ACF(k)=ρk=Cov(yt,yt−k)Var(yt)ACF(k)=\rho_{k}=\frac{Cov(y_{t},y_{t-k})}{Var(y_{t})}ACF(k)=ρk=Var(yt)Cov(yt,yt−k)其中分子用于求协方差矩阵,分母用于计算样本方差。求出的ACF值为[-1,1]。但对于一个平稳的AR模型,求出其滞