一、登录数据库 (1) 简单模式 C:\Users\xlg>mysql -uroot -p Enter password: ****** (2) 标准模式 C:\Users\xlg>mysql -h127.0.0.1...-uroot -p mysql -hlocalhost -uroot -p mysql -h10.0.110.238 -uroot -p Enter password: ****** 参数所代表的含义...这个需要登录进去使用) grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option 二、对于MySQL...命令以英文的分号作为结束 SQL命令不区分大小写 在进入到一个数据库中在进入到另外一个的时候 不需要退出数据库 而是使用use再次进行数据库的切换 如果创建的MySQL库编码错误的 则表和字段都为库的编码...当将库编码改为utf8 则表和字段依然没有改变 那么需要继续修改表和字段 所以在创建的时候注意库的编码 更改默认创建库字符编码 C:\ProgramData\MySQL\MySQL Server
into t1 values(null,'ccc');//报错 主键值不能为null Column 'id' cannot be null ###主键+自增 auto_increment 自增规则:从历史最大值
insert into user values(null,1,'xxx','xxx'),(null,0,'xxl','xxl'); 注意事项:指定字段与不指定字段在添加值的时候 按照从左至右依次对应给值
; 查询数据 按照年龄降序 select * from user order by age desc; (4) limit 取值 结构: limit x 取出x条数据 limit x,y 从x...取出年龄最大/最小的一条数据 select * from user order by age desc limit 1; select * from user order by age limit 1; 从0
MYI: my index 索引文件 InnoDB 存储表文件的作用: .ibd:存放数据库表数据和索引 数据库: 数据库也是以文件形式存储在磁盘上 Data文件中 二、innodb的事物处理 如果MySQL...MyISAM不支持 三、建表的注意事项 表的字段之间要使用逗号隔开 最后一个字段不要存在逗号 数据表名不要和字段名重名 auto_increment 属性 必须依赖于主键索引 表名称和字段名称 尽量不要使用MySQL
一、MySQL表的创建 字段类型 (1) 数值类型 类型 大小 范围(有符号) 范围(无符号) 用途 tinyint 1字节 (-128,127) (0,255) 小整数值 smallint 2字节 (...单精度浮点型 double 8字节 双精度浮点型 decimal decimal(m,d)如果m>d为m+2否则为d+2 依赖于m和d的值 依赖于m和d的值 小数值(更加精准) 创建表语句 mysql...59 YYYY:MM:DD HH:MM:SS 混合日期和时间值 timestamp 4 1970-01-01 00:00:00/2038 YYYYMMDDHHMMSS 混合日期和时间值 建表语句 mysql...如果存在重复的成员则会自动去重 enum和set都只能选择给定成员 3) blob和text类型 blob和text类型都是可以存放任意大数据的数据类型 blob区分大小写 text不区分大小写 创建表语句 mysql
一、MySQL数据库的介绍 发展史 1996年,MySQL 1.0 2008年1月16号 Sun公司收购MySQL。 2009年4月20,Oracle收购Sun公司。...MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。 MySQL因为其速度、可靠性和适应性而备受关注。...大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。 MySQL简介 MySQL是一个关系型数据库管理系统,由瑞典MySQLAB 公司开发,目前属于 Oracle 旗下产品。...MySQL所使用的SQL 语言是用于访问数据库的最常用标准化语言。...MySQL如何下载 进入MySQL官网(https://www.mysql.com) 查看底部下载-https://dev.mysql.com/downloads/mysql/ 二、数据库的分类 关系型与非关系型数据库
(将一张表拆成两张表(主表和从表)) 在从表中添加外键指向主表的主键 一对多:有AB两张表,A表中1条数据对应B表中的多条数据,同时B表中1条数据对应A表中的一条数据.称为一对多关系 应用场景: 比如员工表和部门表的关系...###如何使用JDBC 创建maven工程 在pom.xml中添加以下mysql的相关坐标 mysql mysql-connector-java</...注册驱动 通知编译器使用的是什么数据库 抛出异常 //Class.forName("com.mysql.cj.jdbc.Driver"); //2....:mysql://localhost:3306/newdb3?
-----------------------------------------------------------------+ 2.3 撤消角色或角色权限 正如可以授权某个用户的角色一样,可以从帐户中撤销这些角色...假设想临时让所有用户只读,使用REVOKE从该app_write角色中撤消修改权限 : REVOKE INSERT, UPDATE, DELETE ON app_db.* FROM ‘app_write...TO app_write@% | ±--------------------------------------+ 从角色中撤销权限会影响到该角色中任何用户的权限,因此 rw_user1现在已经没有表修改权限...2.4 删除角色 要删除角色,请使用DROP ROLE: DROP ROLE ‘app_read’, ‘app_write’; 删除角色会从授权它的每个帐户中撤消该角色。...并使用该基本结果集进行下一次迭代 然后,将Ri结果集作为输入执行递归成员,并将Ri+1作为输出 之后,重复第三步,直到递归成员返回一个空结果集,换句话说,满足终止条件 最后,使用UNION ALL运算符将结果集从R0
MySQL主要有四种索引 主键索引 primary key 唯一索引 unique 常规索引 index 全文索引 fulltext (1) 主键索引 主键索引是关系数据库中最常见的索引类型 主要作用是确定数据表里一条特定的数据记录的位置...而且主键的值不能为空 通常和auto_increment 搭配 创建 create testprim( id int unsigned primary key auto_increment ) 自增得步长 mysql...因为它能使我们的数据库得到最大性能方面的提升 缺点: 多占用磁盘空间 会减慢插入 删除 和 修改的操作 创建常规索引: 创建常规索引 可以使用 index 和 key 关键字随表一同创建 实例: mysql...> create table testindex( -> username varchar(20), -> index luckyindex(username) -> ); mysql...key (username) -> ); 说明: 给username字段设置一个常规索引 索引名称为luckyindex 如果不给所以字段起名称 默认索引名称为字段名 注意: 在给mysql
DBMS:DataBaseManagementSystem 数据库管理系统(数据库软件),包括:MySQL/Oracle/SQLServer,DB2,SQLite等 常见DBMS介绍: MySQL:开源...Oracle公司产品,08年MySQL被Sun公司收购,09年Sun公司被Oracle, 原MySQL创始人离开Oracle创建新的数据库MariaDB 市场占有率第一 Oracle:闭源 Oracle
辅表的数据没有的用null来占位 四、其它操作 (1) 修改密码 set password for 用户名@localhost=password('用户名'); (2) 创建其它用户分配权限 使用MySQL...库 use mysql 查看当前库下有哪些用户 select user from user; 创建用户 create user 用户名 identified by '密码' create user...user lucky to zhangsan; 删除用户 drop user zhangsan; 刷新 flush privileges 五、触发器 概述: 触发器:它是一个特殊的存储过程 他是MySQL
一、字段约束 1.unsigned 无符号 只能存储正数 只能用于设置数值类型 不允许出现负数 最大存储长度会增加一倍 实例: mysql> create table testcon...testcon(zv) values(1234); >>> 01234 #补位1个 3.auto_increment 自增 用于设置字段的自动增长 没增加一条记录 该字段的值会自动增加 实例: mysql...null 的字段插入值 实例: alter table user add age tinyint unsigned not null; 6.comment 设置说明 实例: 在创建的使用设置说明 mysql
上篇我们介绍了mysql字符集的种类,主要windows用gbk,mac默认utf8,还有字符集的服务器级别,数据库级别,表级别,连行都有级别,每一行都可以有不同的字符集: Mysql字符集(1)--mysql...从入门到精通(二) 由于字符集和比较规则是有联系的,修改字符集后,比较规则会自动变换成相对应的,相反修改比较规则后,同理字符集也会变化。...Mysql客户端服务端怎么字符集怎么转换的呢?...2、character_set_connection:服务器处理请求会把请求的的字符串从character_Set_client转换成character_Set_connection。...-----+ | character_set_results | utf8 | +-----------------------+-------+ 1 row in set (0.00 sec) 从结果可以看到
上篇文章我们说了mysql客户端与服务端连接过程,分为tcp/ip连接,之后读取缓存,sql解码,语句优化,存储引擎: mysql客户端与服务端连接过程---mysql从入门到精通(一) 我们都知道计算机只能存储二进制数据...Mysql中的utf8和utf8mb4字符集 上面常说的utf8字符集一个字符需要1~4个字节,但我们常用的1~3个字节就可以了,mysql中有两个定义: utf8mb3:阉割过得utf8字符集,1~3...一、服务器级别 服务器级别的字符集查看'character_set_database';和服务器比较规则查看'collation_server'; 用mysql命令进入服务器,mysql -u root...collation_server | latin1_swedish_ci | +------------------+-------------------+ 1 row in set (0.01 sec) 从结果中我们可以看到当前服务器的字符集...--------------+---------+ | character_set_database | utf8mb4 | +------------------------+---------+ 从结果可以看到
上篇文章我们说了mysql客户端到服务端会不同的字符集不断转换,其中服务端有三个重点的系统变量,1.处理客户端发来的字节串:character_set_client。...2.吧请求的字节串从character_Set_cliect转成character_set_connection。3.吧字节串返回给客户端:character_Set_result。...Mysql字符集(2)--mysql从入门到精通(三) 如果你的select * from table_A where name = ‘我的’;返回的结果显示编码报错怎么办呢?...把我们可以从字节集的流程开始分析,他可能在第一步character_Set_client转换的时候就出现乱码问题,比如我们客户端发送的字节串是utf8的,但服务器的character_Set_client...mysql> set names 'utf8'; Query OK, 0 rows affected (0.00 sec) mysql> set character_Set_Results = 'utf8
上篇文章介绍了mysql字符集查询sql从字符串到字节串编码解码的转换,及其如何返回给客户端: Mysql字符集(3)--mysql从入门到精通(四) 了解字符集我们可以解决的问题?...Mysql中:一个字符集有若干个比较规则,其中有个默认的比较规则,一个字符集必须对应一个比较规则。...查询方法,show variables like ‘character_set_resluts’; Mysql主要有四个字符集级别,服务器级别,数据库级别,表级别,列级别,若低级别的没有设置字符集,则会自动继承高级别的字符集...Mysql服务器从接受客户端请求到返回请求给客户端,字节串编码解码如何进行转换,有三个重要的系统参数,character_set_client,处理客户端发送过来的字节串,注意这里是字节串,客户端会把字符串转成字节串发送过来
对于 Docker 和 CentOS 相关知识不了解的小伙伴可以看看 和 两篇文章,反正 Docker 和 CentOS...1.2 MySQL 安装 MySQL 建议使用 Docker 安装,几行命令就安装好了,参见 - 安装 MySQL 我这里的命令是: # 创建mysql容器...mysql # 创建好之后进入 mysql 容器: docker exec -it localhost-mysql bash # 登录 mysql mysql -u root -p888888 如果你机子上安装了...上面使用 left outer join 从 from 子句的左边表 custermers 中选择所有行。为了从右边的表中选择所有行,应该使用 right outer join。...删除数据时,先删除从表,再删除主表。 注意:使用 alter table 要小心,最好在改动之前做一个完整的备份,数据库表的更改不能撤销。
在 Spring Boot 中,我们借助阿里开源的优秀的数据库连接池 Druid,结合业内优秀的持久层框架 MyBatis ,从零一步步实现一个比较全的 Demo。...本文尽量从零去理解、去学习如何使用 Druid 和 MyBatis,有广度,无深入,此为第一篇,后续会写包括如使用 MyBatis 代码生成器 MyBatis Generator 以及 Druid、MyBatis...-p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.32 # 进入容器进行 bash 操作 $ docker exec -it test-mysql...bash $ mysql -u root -p123456 mysql> create database db_example; -- 创建数据库 db_example mysql>...4 小结 从零学习 Spring Boot,本文从比较广的角度去了解了 Spring 数据库相关的概念,入门数据库连接池 Druid 以及数据库持久层框架 MyBatis。
从最开始的创建数据库,创建表,创建列开始写起,再到常用的EXISTS函数,SELECT 复杂查询,模糊查询LIKE,创建视图 等深入学习。 为了对单词加深印象,全部在DOS下演示!...从stud表格删除sex列 alter table stud drop sex; 也可以用: <span style="font-size...:cerate view 视图名 as select 子句 (虚表)---只存在内存中 create view aview as select * from stud where age>20; <em>从</em>视图...n个字符 Right(str,n); - <em>从</em>右边取出n个字符 Substring(str,begin,end) -返回子串 Reverse(str) –返回颠倒的字符串 Lower(str) - 转成小写...snon,sname,saddress) as 串联字符串 from stud; instr(str,s) 返回s在str中出面的位置,没有则返回0 其实就是返回字串自一次出现的位置(<em>从</em>1
领取专属 10元无门槛券
手把手带您无忧上云