1.名称和字段名要有意义,比如说用英文或英文的组合; 2.自己定义的名称最好都小写; 3.SQL语句需要大写。 ? 2.字符型 可以使用“”和''来存储。 char、varchar的长度都是255。 ? 如果超出了指定的长度,就会保存失败。 ? SET 集合 1,2,3,4,8字节 ? 数据字段属性 1.unsigned可以让空间增加一倍, -128-127, 0-255,只能用在数值型字段; 2.zerofill 零填充,前导0,自动用0填充。 ? ? 2.唯一索引 3.常规索引 4.全文索引
2.1 MySQL的4大版本MySQL community server 社区版本,开源免费,自由下载,适用于大多数普通用户。 2.2 软件的下载1.下载地址官网:MySQL :: MySQL Downloads图片图片图片图片2.3 软件的安装双击下载好的安装,出现如下安装界面:图片图片点击加号,出现MySQL8.0,再点击框中间的箭头 2.4 配置环境变量安装好Mysql之后,键盘输入“windows+R”,打开cmd控制台,输入:mysql --version显示不是内部或外部命令,则表示没有配置环境变量,没法识别mysql的指令, 图片我们打开mysql的安装目录【这里我的mysql安装在了D盘】,所以复制安装目录:D:\MySQL\bin,如下图所示,图片把安装目录:D:\MySQL\bin粘贴到我们的环境变量里:位置:【我的电脑 在cmd控制台登录mysql, 输入: mysql -h 主机名 -P 端口号 -u 用户名 -p密码举例:mysql -h localhost -P 3306 -u root -pabc123 #
上篇我们介绍了mysql字符集的种类,主要windows用gbk,mac默认utf8,还有字符集的服务器级别,数据库级别,表级别,连行都有级别,每一行都可以有不同的字符集: Mysql字符集(1)--mysql 从入门到精通(二) 由于字符集和比较规则是有联系的,修改字符集后,比较规则会自动变换成相对应的,相反修改比较规则后,同理字符集也会变化。 -----+ | character_set_server | latin1 | +----------------------+--------+ 1 row in set (0.03 sec) mysql Mysql客户端服务端怎么字符集怎么转换的呢? 2、character_set_connection:服务器处理请求会把请求的的字符串从character_Set_client转换成character_Set_connection。
[TOC] 0.MySQL语法 描述:学习MySQL除了一些基本的SQL语句以外,我们还需要学习MySQL扩展部分的知识;通过前面的学习我们知道SQL类型大致分为四类,在后面的学习采用这四类来入门了解使用 WeiyiGeek'); MySQL [Demo]> INSERT INTO t2 VALUES (1,'18888888888'),(2,'19999999999'); MySQL [Demo]> INSERT INTO t2 VALUES (NULL,'15555555555'); -- 可以插入空值 MySQL [Demo]> INSERT INTO t2 VALUES (3,'16666666666 `t2`, CONSTRAINT `fk_t1` FOREIGN KEY (`fid`) REFERENCES `t1` (`uid`)) MySQL [Demo]> SELECT * FROM t2 TABLE 旧表名1 TO 新表名1,旧表名2 TO 新表名2; 基础示例: -- MySQL 8.X 新特性:可以重命名使用LOCK TABLES语句锁定的表,前提是它们已被WRITE锁锁定 LOCK
2. 价格低 MySQL对多数个人用户来说是免费的。 3. 小巧 MySQL数据库的4.1.1发行版只有21MB,安装完成也仅仅51MB。 4. 支持查询语言 MySQL支持SQL(结构化查询语言)。 可移植性 MySQL可运行在各种版本的UNIX以及其他非UNIX的系统(例如Windows和OS/2)上。MySQL可运行在从家用PC到高级的服务器上。 8. 向表t1中插入2条数据,其中第2列数据是第1列数据的2倍 mysql> INSERT INTO t1(c1,c2,c3) VALUES(1,c1*2,'a'),(2,c1*2,'b'); Query OK 更新表t1中的数据,其中当c1等于2时,对应的c2列的数据乘以3,对应的c3列的值更改为updateb mysql> UPDATE t1 SET c2=c1*3,c3='updateb' -> 当c1等于2时,查询表t1中对应的元组的数据 mysql> SELECT * FROM t1 WHERE c1=2; +------+------+---------+ | c1 | c2 |
MySQL图形化管理工具极大地方便了数据库的操作与管理。常用的图形化管理工具有:MySQL Workbench、Navicat for MySQL 等。 其中,Navicat forMySQL 提供中文操作界面;MySQL Workbench为英文界面。下面介绍几个常用的图形管理工具。 1. MySQL Workbench 1.1 MySQL Workbench安装 打开网址:https://dev.mysql.com/downloads/workbench/ 选择对应版本,点击Downloaded Table,选择Creat Table 数据表命名为table1,内容为name和age 创建后查看数据表table1,添加测试数据 如果想要删除数据表,选中数据表右击选择drop table 2. Navicat for MySQL 2.1 Navicat安装 “Navicat”是一套可创建多个连接的数据库管理工具,用以方便管理 MySQL、Oracle、PostgreSQL、SQLite、SQL
如果没有绚丽的界面给我们,MySQL如何能在业界获得如此的知名度。首先介绍的当然是 MySQL 自家的UI神器 MySQL Workbench. 纯一站式操作,中间最大最白的区域,就是让你来写SQL的,左边的浏览器将数据库对象和数据库管理功能巧妙的分成2个Tab集成在一起。甚至连关闭数据库都给做进来了。 菜单里面也是各显神通,样样都有。 有了这么经济实用的 workbench, 为什么还有层出不穷的 MySQL 可视化工具呢。其实,对于程序员这部分异端人士来讲,如果发现不完美的工具,我们就会自己造一套。 万绿从中一点红,最深得 MySQL 程序员喜爱的便是 Navicat. 戴尔诚可贵, Mac价更高, 若为代码故, 两者兼可抛。 有钱买戴尔甚至Mac,我宁愿用它来买 Navicat. 要我们打开 Toad, MySQL Workbench, SSMS, 分别来连 Oracle, MySQL, SQL Server, 完了可能还要打开 RebooMongo 来查查MongoDB Audit
三、MySQL的安装MySQL软件采用双授权政策,分为社区版和商业版。由于其体积小、速度快、总体拥有成本低,MySQL通常成为开发者的首选数据库。 针对不同的用户,MySQL的版本主要分为以下几种:MySQL Community Server:免费使用的社区版本,官方不提供技术支持MySQL Cluster:开源的集群版,将多个MySQL Server 整合成一个Server,免费使用MySQL Enterprise Edition:收费的商业版,提供30天试用和官方技术支持MySQL Cluster CGE:高级集群版,需付费使用①下载MySQL下载网址 :https://downloads.mysql.com/archives/installer选择下载版本以及操作系统版本选择离线安装②安装双击打开安装包③配置环境变量点击“新建”→复制粘贴MySQL安装目录的 -exit: 退出MySQL的命令行环境图片四、图形化工具DBeaver使用命令提示符进行MySQL操作并不是特别方便,一般开发者都会选择第三方的图形化工具进行MySQL操作。
:insert [into] 表名 (字段名1,字段名2,字段名3,....) values|value (值1,值2,值3....) 更新全部数据 语法为:update 表名 set 字段名1=值1[,字段名2=值2,....] sal,job from emp where sal<3000; ---查询名为Smith的雇员信息 select * from emp where ename="Smith"; 注意:MySQL 10 day); e,流程控制函数 1,if(条件,t,f) 如果条件成立返回t,否则返回f select if(1>2,"1大于2","1小于2"); ---查询雇员的薪资,如果薪资> ,否则返回值1 select nullif(1,2),nullif(1,1); 4, case 值 when 值1 then 结果1 when 值2 then 结果2
MySQL 数据库概览 ---- MySQL 数据库的基本结构如下所示: ? 其中,实际表的数据和结构如下所示: ? 总结: 系统级操作: 服务器的启停 mysql 服务,通过系统服务来操作,或: net start mysql net stop mysql 登录系统: mysql -hlocalhost -uroot 》》》day2 MySQL 数据类型 数据类型(列类型)总览 ? 表名 > 备份文件名(含路径) 说明: 跟登录 mysql 类似,密码可以不写,则随后会提示输入 该语句是 mysql/bin 中的一个命令,不是 sql 语句(即不应该登录 mysql 后再去使用) 删除,改密 用户权限的管理,包括:授予权限,取消权限 查看用户 mysql 数据库管理系统中有个数据库叫做“mysql”,绝对不能删除!
tablename} modify ${oldattr} char(80); ---- 增加数据 insert into ${tablename} values (${column1}, ${column2} from ${tablename} order by ${column} asc limit n,m select ${column1},${column2} from ${tablename} order -uroot -p123456 epoos < epoos.sql 如果上面的还原功能不好使,可以 1.创建新数据库 newdb 2.use newdb 3.执行备份的sql文件 ubuntu安装mysql # 中文解释 1)为root用户设置密码; 2)删除匿名账号; 3)取消root用户远程登录; 4)删除test库和对test库的访问权限; 5)刷新授权表使修改生效。 排查可以从下面三种情形入手(具体方式可以网上搜一搜,很多,这里就不列了) 这种情形比较常见的原因有三个: 1.机器防火墙 3306 端口没有开 2.登录的数据库用户没有开 ip 访问的权限,找到user
InnoDB(1)变长字段长度列表--mysql从入门到精通(六) NULL值列表 Compact行格式的null并不是存储在真实数据里,为了提高效率,这些null值统一存储在变长字段长度列表的后面null 2、如果表没有可以存储null的字段,则null值列表也不会存在,当前列表存储数据的时候,也是和变长字段长度列表一样,按逆序排列。 Mysql规定null值列必须用整个字节位表示,一个字节有 8个字节为,因为表里有三个可以为null的字段,所以剩下五个直接补0,存储的效果就是00000c4c3c1。 预留位2:1bit,没有使用。 Delete_mask:1bit,标记该记录是否被删除。 Recode_type:3bit,表示当前记录类型,0表示普通记录,1表示B+树非子叶节点记录,2表示最小记录,3表示最大记录。 Next_record:16bit,表示下一条记录相对位置。
SQL 先说点废话,很久没发文了,整理了下自己当时入门 SQL 的笔记,无论用于入门,回顾,参考查询,应该都是有一定价值的,可以按照目录各取所需。 SQL数据库有很多,MySQL是一种,本文基本都是SQL通用标准,有些标准很不统一的地方就用MySQL的写法了。希望本文帮你快速了解SQL的基本操作和概念。 num_prods FROM Products WHERE prod_price >= 4 GROUP BY vend_id HAVING num_prods >= 2; 先按列名1内容排序,排序结果相同的按列名2内容排序。 FULL OUTER JOIN 会把两张表中没有匹配到的列也显示出来(mysql 不支持,可通过 UNION 实现) OUTER 可省略。
SELECT DISTINCT 列名 (如果有两列或以上,需要这些列组合起来是不重复的) FROM 表名; 检索指定行数: SELECT 列名 FROM 表名 LIMIT 5 OFFSET n; (MySQL 字符串拼接:不同数据库有差异,MySQL中: SELECT concat(vend_name , vend_country) AS vend_title FROM Vendors ORDER 先按列名1内容排序,排序结果相同的按列名2内容排序。 NOT NULL, prod_name CHAR(254) NOT NULL, prod_price DECIMAL(8,2) FULL OUTER JOIN 会把两张表中没有匹配到的列也显示出来(mysql 不支持,可通过 UNION 实现) OUTER 可省略。
主流的数据库有:sqlserver,mysql,Oracle、SQLite、Access、MS SQL Server等,本文主要讲述的是mysql 2、数据库管理是干什么用的? a. 使用mysql必须具备一下条件 a. 安装MySQL服务端 b. 安装MySQL客户端 c. 【客户端】连接【服务端】 d. 【客户端】发送命令给【服务端MySQL】服务的接受命令并执行相应操作(增删改查等) 1、下载地址:http://dev.mysql.com/downloads/mysql/ 2、安装 windows安装请参考 start启动mysql服务 MySQL操作 一、连接数据库 mysql -u user -p 例:mysql -u root -p 常见错误如下: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2), it means that
CPU 1 30000 presented 1 714466 Trantow-Barrows Craig Booker Debra Henley Software 1 10000 presented 2 714466 Trantow-Barrows Craig Booker Debra Henley Maintenance 2 5000 pending 3 737550 Fritsch, Russel Craig Booker Debra Henley CPU 1 35000 declined 4 146832 Kiehn-Spinka Daniel Hilton Debra Henley CPU 2 65000 won 5 218895 Kulas Inc Daniel Hilton Debra Henley CPU 2 40000 pending 6 218895 Kulas Inc Daniel 我们需要事先在表格中剪贴好数据,然后直接运行下面的代码: # 现在剪贴板中进行赋值,再执行下面的语句 df2 = pd.read_clipboard() df2 .dataframe tbody
1、MySQL概述 1.1 数据库相关概念 1.2 MySQL数据库 1.3 数据模型 2、SQL 2.1 SQL通用语法 2.2 SQL分类 2.3 DDL 2.3.1 数据库操作 2.3.2 表操作 1.2 MySQL数据库 官网: MySQL MySQL官方提供了两种不同的版本: 社区版本(MySQL Community Server)免费, MySQL不提供任何技术支持。 MySQL、Oracle、DB2、 SQLServer这些都是属于关系型数据库,里面都是基于二维表存储数据的。 2、 SQL语句可以使用空格/缩进来增强语句的可读性。 3、MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。 注:这条语句,尽量少用或者不用,要不然就是MySQL入门到删库跑路了。
主从复制 MySQL 上下分为 SQL 层和引擎层,不同存储引擎中的日志格式是不同的,由于要对多引擎支持,必须在 SQL 层设计逻辑日志以透明化不同存储引擎,而这个逻辑日志就是 binlog 。 在 mysql 体现在写操作时不是立刻更新到磁盘, 而是先落在日志系统. 对支持事务的引擎如 InnoDB 而言,必须要提交了事务才会记录 binlog 。 大致流程如下: 1、事务开启 2、执行 dml 语句,在 dml 语句第一次执行的时候会分配内存空间 binlog cache 3、执行 dml 语句期间生成的 event 不断写入到 binlog cache if (mysql_file_write(info->file, Buffer, length, info->myflags | MY_NABP)) return info->error = (info->write_pos, Buffer, (size_t)Count); info->write_pos += Count; return 0; } 总结 通过本篇 binlog 入门了解什么是
下载mysql 安装教程查看百度即可 进入mysql 运行CMD(以管理员方式打开) mysql -uroot -p 数据库操作 创建数据表 mysql> CREATE TABLE info (50) comment '地址', -> tip varchar(255) comment '描述' -> ); 创建info的数据表 里面字段有名称,地址,描述,并设置有数据类型 数据表操作 mysql
主从复制 MySQL 上下分为 SQL 层和引擎层,不同存储引擎中的日志格式是不同的,由于要对多引擎支持,必须在 SQL 层设计逻辑日志以透明化不同存储引擎,而这个逻辑日志就是 binlog 。 在 mysql 体现在写操作时不是立刻更新到磁盘, 而是先落在日志系统. 对支持事务的引擎如 InnoDB 而言,必须要提交了事务才会记录 binlog 。 大致流程如下: 1、事务开启 2、执行 dml 语句,在 dml 语句第一次执行的时候会分配内存空间 binlog cache 3、执行 dml 语句期间生成的 event 不断写入到 binlog cache if (mysql_file_write(info->file, Buffer, length, info->myflags | MY_NABP)) return info->error = (info->write_pos, Buffer, (size_t)Count); info->write_pos += Count; return 0; } 总结 通过本篇 binlog 入门了解什么是