mysql怎么建立连接数据库

直接下达命令。
对于 Windows 使用 XAMPP,对于 Mac 使用 MAMP。
检查任务管理器以启动该服务。
命令行连接:mysql -u root -p -h 1 2 7 .0.0.1 -P 3 3 06 输入密码后,使用:USE my_db;切换库。
在某些项目中,root 密码通常为空。
你自己掂量一下吧。

怎样在mysql中创建数据库表 mysql建库建表完整流程

上周,一位客户问我如何从头开始构建 MySQL 数据库。
我介绍了他,我觉得你的流程挺全面的,但是我们需要谈谈实际操作中的陷阱。

你是对的。
第一步建库需要指定utf8 mb4 2 02 3 年在上海做一个电商项目的时候,遇到了一个很麻烦的问题,表情符号因为错位而出现乱码。
实在是太可怕了。
我记得有一个前端小哥把数据库改成了latin1 结果,所有用户上传的表情符号都变成了裁剪后的方块。
因此,创建数据库 my_database 字符集 utf8 mb4 收集 utf8 mb4 _unicode_ci;我总是添加评论来提醒自己不要忘记。

第二步是创建表。
您列出的字段类型和约束非常标准。
然而,我在北京做的一个项目中,有一位老人坚持使用VARCHAR来存储用户表中的年龄字段。
结果,他在输入数据时不得不处理空值。
你不觉得这很有趣吗? INT AUTO_INCRMENT PRIMARY KEY没有什么问题,但是对于email这样的字段,应该添加NOT NULL UNIQUE,以避免用户注册时重复。

第三步是外键约束,这一点尤为重要!但需要注意的是,并不是所有情况都适合使用外键。
2 02 2 年,当我在深圳帮助ERP团队适应时,他们的订单表使用外键链接到用户表。
结果,当用户删除账户时,订单也被删除,数据恢复变得困难。
然后我改用激活+软删除策略,问题就解决了。
因此,使用这句话时必须考虑FOREIGN KEY(user_id) REFERENCE user(id)。
最好根据业务需求添加ON DELETE CASCADE或者ON DELETE SET NULL。

优化提示第四步,优化分区表和索引是否正确。
但我在广州有一个仓库管理系统,使用分区表实际上会减慢查询速度,因为它们的查询条件往往分布在各个分区上。
分区表适用于数据量特别大且查询条件固定在某个分区内的情况。
关于索引,你是对的。
我见过人们添加数百个索引来优化查询。
结果,即使他们写了大量的插入内容,他们仍然陷入困境并怀疑自己的生活。
复合索引 CREATE INDEX idx_user_order ON order(user_id, order_date);这句话说得好,但首先要分析实施方案,不要随意添加。

第五步是性能优化。
最佳表必须在正确的时间使用。
不要每天都这样做。
在上海的一个银行项目中,我发现某个DBA运行命令这种情况每天都会发生,导致服务器 CPU 满载。
存储引擎方面,InnoDB比较流行,但MyISAM的读性能确实不错。
一组报告使用 MyISAM 将速度提高了 5 0%。
重要的取决于场景。
数据类型优化尤其重要。
去年我带新人来成都的时候,他们把用户ID写成了TEXT格式。
结果,桌子变大了很多倍。
我怎样才能备份它?
总的来说,您的流程写得很好,但在实践中需要灵活。
字符集、约束、外键等基础一定要扎实,但索引、分区等优化方法要与实际业务场景相匹配。
不仅仅是记住语法,你还需要了解其背后的原理,比如索引为什么会影响写入,分区表如何选择分区键等等。
不管怎样,建数据库的时候,先把这些基础打好,剩下的根据具体情况调整,慢慢就会有经验了。

mysql中创建数据库的命令是 标准建库语句写法

哦,让我告诉你一件事。
刚开始学习MySQL的时候,在创建数据库的时候遇到了很多坑。
让我告诉你我的真实经历,我确保它都是有用的。
记得那年公司的新项目要求我搭建一个电子商务系统。
简单创建数据库 my_new_db;事情已经完成了。
起初我认为效果很好。
结果怎么样?几个月后系统升级,突然出现错误说我的数据库已经存在。
这有点令人困惑!
后来我发现这个产品默认不允许重复创建。
当晚调试到九点,尝试了不同的方法,最后用CREATE DATABASE解决了my_new_db不存在的问题。
你看,一点语法就差点让我崩溃了。
让我告诉你一些更实际的事情。
当时有客户要求支持中文和表情,我一开始并没有注意设置的字符。
直接使用默认的Latin1 ,输出会保存中文草书字符,表情符号会自动显示为方块。
后来我改成utf8 mb4 ,得到了解决方案。
这个教训是非常深刻的。
创建数据库时现在应该使用 CHARACTERSET utf8 mb4 COLLATE utf8 mb4 _unicode_ci。
没有任何歧义。

还有许可问题。
我有一个小组项目。
我最初给了开发人员所有权利,但他最终随机删除了表,这让我非常沮丧。
后来我选择了Grant,进入DB。
到'dev_user'@'localhost';这种网络许可方式使得集团管理更加顺畅。
记得洗权,不然可能就白费了。

我也遇到了存储引擎的问题。
仍然有一个使用MISAM的老系统,但正因为如此,它在接口高时就死掉了。
后来完全切换到InnoDB,事务支持和行锁都很完善。
但是,可以进行全文检索。
我尝试了MyISAM,速度确实很快,但是稳定性和安全性不如InnoDB。

我建议你记住这个名字。
当时群里有人喜欢用中文名字,但也正因为如此,在向其他系统输入数据时,就报了各种错误。
现在规定必须是英文,比如project_x_env_dev,而且并不是所有人都反对。
你看创建数据库看似简单,但实际上涉及到很多细节。
不要像我一样,等到出了问题才后悔。
如果你记住了这几点,至少可以避免我当时的做法。