问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

谁知道MYSQL是怎么回事的??

发布网友 发布时间:2022-05-03 11:05

我来回答

5个回答

懂视网 时间:2022-05-03 15:26

这种方式相对较简单,不用改动表结构,只需在需要区分查询的字段前加上关键字。这种方式也是有缺点的,每次写查询的时候都要注意加关键字,并可能需要改动的代码较多。

 

在创建表的时候进行限制

CREATE TABLE `tb_user1` (
 `id` BIGINT (20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT ‘用户id‘,
 `username` VARCHAR (50) BINARY NOT NULL COMMENT ‘用户名‘,
 PRIMARY KEY (`id`)
) ENGINE = INNODB DEFAULT CHARSET = utf8 COMMENT = ‘用户表‘;


mysql> show create table tb_user1;
tb_user1 | CREATE TABLE `tb_user1` (
 `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT ‘用户id‘,
 `username` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT ‘用户名‘,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=‘用户表‘
1 row in set

或者 使用

CREATE TABLE `tb_user2` (
 `id` BIGINT (20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT ‘用户id‘,
 `username` VARCHAR (50) NOT NULL COMMENT ‘用户名‘,
 `info` VARCHAR (100) NOT NULL COMMENT ‘详情描述‘,
 PRIMARY KEY (`id`)
) ENGINE = INNODB DEFAULT CHARSET = utf8 COLLATE=utf8_bin COMMENT = ‘用户表‘;

mysql> show create table tb_user2;
tb_user2 | CREATE TABLE `tb_user2` (
 `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT ‘用户id‘,
 `username` varchar(50) COLLATE utf8_bin NOT NULL COMMENT ‘用户名‘,
 `info` varchar(100) COLLATE utf8_bin NOT NULL COMMENT ‘详情描述‘,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT=‘用户表‘

使用 NGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin会将字段中varchar类型的全部设置区分大小写。这两种查看表的详情,本质上都是 在字段上 加上了 COLLATE utf8_bin

总结:

字段值的大小写由mysql的校对规则来控制。提到校对规则,就不得不说字符集。字符集是一套符号和编码,校对规则是在字符集内用于比较字符的一套规则。 一般而言,校对规则以其相关的字符集名开始,通常包括一个语言名,并且以ci(大小写不敏感)、cs(大小写敏感)或_bin(二元)结束 。

比如 utf8字符集,,如下表:

1)utf8bin:utf8bin将字符串中的每一个字符用二进制数据存储,区分大小写。

2)utf8generalci:utf8generaci不区分大小写,ci为case insensitive的缩写,即大小写不敏感。

3)utf8generalcs:utf8generalcs区分大小写,cs为case sensitive的缩写,即大小写敏感。

 

3、ON DUPLICATE KEY UPDATE

mysql提供了这样的语法,即当我们往表里插数据里,如果数据已经存在(通过主键或唯一索引确定),我们可以对已存在的记录做更新操作。如:

INSERT USER(id,username) VALUES(1,‘张三丰‘) ON DUPLICATE KEY UPDATE username=‘王老五‘
面的sql意思是,如果id为1的记录不存在,则insert一条id=1、username=张三丰的记录;否,将id为1记录的username改为王老五。这只是插入单行数据,mysql甚至支持批量操作,如:INSERT INTO table (id,a,b,c) select id,a,b,c from xxx ON DUPLICATE KEY UPDATE a=VALUES(a),b=VALUES(b),c=VALUES(c)

即通过insert into ...from 来批量插入,然后通过values(xxx)来取得结果集中对应的字段值。

mysql的那点事儿,你知道吗

标签:记录   数据存储   批量操作   innodb   dup   efault   linu   存储   描述   

热心网友 时间:2022-05-03 12:34

mysql 是数据库管理软件,一般配合 PHP 使用,由 PHP 对其进行调用,也可独立使用,若独立使用 mysql,要进入 DOS ,执行 “mysql.exe -h主机IP -u用户名 -p密码”来登录数据库管理系统,然后可能进行建库、删库、建表、查询、修改、删除、授权等等各种操作。

热心网友 时间:2022-05-03 13:52

打开?你指的是启动数据库么....
如果你选择的是安装成服务,Windows下直接到控制面板--管理工具--服务里启动,Linux下要用到命令,你查下

启动后,检查你的3306端口是不是已经使用着了,就说明MySQL启动了
--------netstat命令

热心网友 时间:2022-05-03 15:27

一般都是在程序里面,SQL2000在程序Microsoft SQL Server下面的企业管理器
SQL2005 SQL2008都差不多一看就大概知道是那一个程序 !

热心网友 时间:2022-05-03 17:18

一般都是通过SQLyogEnt 、 Navicat 8工具来调用的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怎么退出夸克HD账号登录状态? 猫感冒了看兽医要多少钱 Pka 与 PH的区别及各自的应用领域 储干在公司是干什么的职位啊 2025数字博览会 岗位丨申万宏源证券研究所招聘实习生(可留用), 国海证券研究所+开源证 ... 用发酵粉蒸馒头如何蒸? 雷蛇现在的售后保修政策是怎样的有个鼠标双击了 安代驾好还是e代驾好 急需一篇科技小论文,六年级水平的`要快`谢谢啊`! 浦发信l用l卡被风控了咋办? 浦发信用卡收到风控短信怎么办啊! CoreLDRAW X6文件求帮忙转存为X4,在线求助!! cdr软件繁体字怎么转简体,注意:不是换字体 怎么把CDR文件转换为可以修改的DOC文件,用什么版本打开的啊 浦发信用卡被风控后怎么解除? 谁能帮我把两个coreldraw x6的文件转换成coreldraw x5的格式发给我,急用,,在线等待 求帮转下CDR19版本的文件,转到17或以下,感谢 职业培训 与 技校 职高 高职的 区别是什么? 毕业分别颁发什么文凭? 毕业证书和学业证书 的区别 哪个更好 入党积极分子培训结业证和党课结业证有什么区别 入党积极分子培训班与上党课结业证区别 word文档段落设置被默认怎么办 请问word怎么设置默认段落格式? 如何更改WORD的默认设置 Word2007如何修改段落默认对齐方式 室内设计ch是什么意思 平面图纸当中CH和BH分别是什么的高度? 二次电气图纸中的CH是什么意思 工程图标注CH是什么 收到浦发风控短信后还刷吗 社保卡没激活,查询余额为0吗? 我火车票丢了怎么查乘车记录? 如何在word中签名处后面加划线? 在WORD中制作表格中的下滑线怎么弄 苹果7的定位服务里的系统服务打不开 Iphone 无法开启定位,是什么原因?如何解决! 为什么苹果7的定位服务里的系统服务打不开? 招商银行装修贷款怎么申请 Mysql的几点问题 免费可以用的 招行装修贷款申请条件是什么? 快递价值证明怎么开 招商银行贷款需要哪些条件 一个免费的和密码 我想要快递员帮我写一个证明书,证明我的快递当面验收出现问题,证明书应该怎么写?_百度问一问 宝宝拉肚子吃什么粥好的呢 台湾文化古迹的卑南文化遗址 请教下取快递证明怎么写? 小孩拉肚子吃什么粥好,怎么煮