您现在的位置是:焦点 >>正文

mysql命令语句大全

焦点8人已围观

简介 mysql命令语句大全 MySQL的日常操作,八成时间耗在十来条命令上。剩下的两成,才是那些让新手抓狂、老手拍大腿的进阶写法。别指望背完所有命令,你只需要掌握一套能应对99%场景的骨架,剩下的,查文 ...

mysql命令语句大全

MySQL的令语日常操作,八成时间耗在十来条命令上。令语剩下的令语两成,才是令语那些让新手抓狂、老手拍大腿的令语进阶写法。别指望背完所有命令,令语你只需要掌握一套能应对99%场景的令语骨架,剩下的令语,查文档都比硬记快。令语

连接与库表操作

先解决怎么进门。令语mysql -u root -p 是令语标准姿势,但很多人不知道加 -h 指定远程主机时,令语后面要跟端口,令语像 mysql -h 192.168.1.10 -P 3306 -u root -p。令语进门之后第一件事,令语看有哪些库:SHOW DATABASES;。选库用 USE db_name;,别漏了分号,漏了它,MySQL会一直等你输入下一行,像个耐心过头的客服。

建表是另一个坑。我见过有人用 CREATE TABLE t (id INT, name VARCHAR(50)); 建完就后悔,因为没设主键。正经写法是 CREATE TABLE user (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL); 这行命令里藏了三个常识:主键唯一、自增省心、NOT NULL防止脏数据。改表结构用 ALTER TABLE,加列 ADD COLUMN age INT,删列 DROP COLUMN age,改类型 MODIFY COLUMN name VARCHAR(100)——注意,MODIFY会覆盖原有属性,写漏了NOT NULL就等着数据变NULL吧。

增删改查:CRUD的肌肉记忆

查询是重头戏。SELECT * FROM user; 这种写法,性能极差,但开发环境无所谓。生产环境你得学会 SELECT id, name FROM user WHERE status = 1 ORDER BY created_at DESC LIMIT 20; 这条命令里,WHERE 过滤行,ORDER BY 排序,LIMIT 限制返回条数。三个词按顺序写,错了就报语法错误,MySQL在这点上很较真。

插入数据,INSERT INTO user (name, age) VALUES ('张三', 25); 注意列名和值要一一对应。批量插入时,用逗号分隔多组值:INSERT INTO user (name) VALUES ('李四'), ('王五'); 这比循环执行单条插入快十倍不止,尤其在脚本里。

更新和删除,最怕忘加WHERE。UPDATE user SET age = 26 WHERE name = '张三'; 一旦漏了WHERE,全表都被改。删除同理,DELETE FROM user WHERE id = 5; 但清空表用 TRUNCATE TABLE user; 更快,它不记录逐行删除日志,直接重置表。代价是——无法回滚。手一抖,数据就没了,比DELETE还绝。

进阶:JOIN、聚合与索引

单表玩腻了,才轮到JOIN。SELECT u.name, o.order_no FROM user u JOIN orders o ON u.id = o.user_id; 这里 u 和 o 是别名,省得写全表名。LEFT JOIN 和 INNER JOIN 的区别,用一次就懂:INNER只留两边都匹配的,LEFT保留左表全部,右表没匹配的填NULL。做报表时LEFT JOIN用得最多,因为你要的是“所有用户,哪怕他没下过单”。

聚合函数 COUNT、SUM、AVG 配 GROUP BY 用。比如统计每个用户的订单数:SELECT user_id, COUNT(*) FROM orders GROUP BY user_id; 想过滤分组后的结果,不能用WHERE,得用 HAVING COUNT(*) > 2; 这个坑,新手必踩,老手也偶尔犯迷糊。

索引是性能的救星。CREATE INDEX idx_user_name ON user(name); 建完你会发现,带WHERE name='张三'的查询,从全表扫描变成索引查找,快得飞起。但别滥用,索引占空间,写入时还要维护,一张表超过三四个索引就该反思了。

管理命令与防坑技巧

看表结构用 DESC user;,比SHOW CREATE TABLE简洁。导出数据,命令行下 mysqldump -u root -p db_name > backup.sql,导入时 mysql -u root -p db_name < backup.sql。这两条命令,是备份恢复的底线,建议刻进肌肉记忆。

最后说个冷门的。SHOW PROCESSLIST; 能看到当前所有连接在跑什么SQL。有一次线上卡死,我执行这条命令,发现有个查询跑了三小时,锁住了整张表。KILL掉那个线程ID,世界瞬间清净。这条命令,比任何优化技巧都救命。

MySQL命令不复杂,复杂的是数据之间的关系和你的业务逻辑。命令是死的,用的时候别死背,多想想它背后在做什么——全表扫描还是索引查找,行锁还是表锁,事务提交没提交。想明白了,命令自然就记住了。

Tags:

相关文章

  • 360好不好

    焦点

    360这家公司,我用了它家产品十年,骂了它八年,但到现在也没卸载干净。这事儿本身就挺说明问题的。 2013年我配第一台电脑,装机店老板二话不说给装了360安全卫士。那时候流氓软件横行,今天弹窗明天篡改 ...

    【焦点】

    阅读更多
  • 求职网哪个平台比较好

    焦点

    我去年帮表妹找工作,把市面上叫得出名字的求职平台都翻了个底朝天。她是个普通二本应届生,专业是市场营销,投了大概两百份简历,最后拿到四个offer。这个过程里踩过的坑,比她在大学四年逃的课都多。 智联招 ...

    【焦点】

    阅读更多
  • 辽宁防渗膜厂家电话

    焦点

    辽宁防渗膜厂家电话 昨天下午,沈阳于洪区一家养殖场的王老板给我打电话,说他的鱼塘又渗水了,一个月漏掉的水够灌十亩地。他急着问:“辽宁这边做防渗膜的厂家,到底哪个电话能打通?”我翻出手机通讯录,给他指了 ...

    【焦点】

    阅读更多


友情链接