常用 sql 语句整理:mysql
发布日期:2021-08-30 16:01:52 浏览次数:6 分类:技术文章

本文共 2718 字,大约阅读时间需要 9 分钟。

  • 增加一张表
CREATE TABLE `table_name`(  ...  )ENGINE=InnoDB DEFAULT CHARSET=utf8;复制代码
  • 增加记录
INSERT INTO `your_table_name`(`column_name`)VALUES('your_value_one'),('your_value_two');复制代码
  • 增加字段
ALTER TABLE `your_table_name`ADD `your_column_name` ...AFTER `column_name`;复制代码
  • 增加索引

    • 主键
    ALTER TABLE `your_table_name`ADD PRIMARY KEY your_index_name(your_column_name);复制代码
    • 唯一索引
    ALTER TABLE `your_table_name`ADD UNIQUE your_index_name(your_column_name);复制代码
    • 普通索引
    ALTER TABLE `your_table_name`ADD INDEX your_index_name(your_column_name);复制代码
    • 全文索引
    ALTER TABLE `your_table_name`ADD FULLTEXT your_index_name(your_column_name);复制代码
  • 逐行删除
DELETE FORM `table_name`WHERE ...;复制代码
  • 清空整张表
TRUNCATE TABLE `your_table_name`;复制代码
  • 删除表
DROP TABLE `your_table_name`;复制代码
  • 删除字段
ALTER TABLE `your_table_name`DROP `column_name`;复制代码
  • 删除索引
ALTER TABLE `your_table_name`DROP INDEX your_index_name(your_column_name);复制代码
  • 变更数据
UPDATE `table_name`SET column_name=your_valueWHERE ...;复制代码
  • 变更字段
ALTER TABLE `your_table_name`CHANGE `your_column_name` `your_column_name` ...(变更);复制代码
  • 变更字段值为另一张表的某个值
UPDATE `your_table_name`AS aJOIN `your_anther_table_name`AS bSET a.column = b.anther_columnWHERE a.id = b.a_id...;复制代码
  • 普通查询
SELECT `column_name_one`, `column_name_two`FROM `table_name`;复制代码
  • 关联查询
SELECT *FROM `your_table_name`AS aJOIN `your_anther_table_name`AS bWHERE a.column_name = b.column_name...;复制代码
  • 合计函数条件查询:WHERE 关键字无法与合计函数一起使用
SELECT aggregate_function(column_name)FROM your_table_nameGROUP BY column_nameHAVING aggregate_function(column_name)...;复制代码
  • 同一个实例下跨库查询
SELECT *FROM database_name.your_table_nameAS aJOIN another_database_name.your_another_table_nameAS bWHERE a.column_name = b.column_name...;复制代码
  1. 复制一张表结构
CREATE TABLE `your_table_name`LIKE `destination_table_name`;复制代码
  1. 完全复制一张表:表结构 + 全部数据
CREATE TABLE `your_table_name`LIKE `destination_table_name`;INSERT INTO `your_table_name`SELECT *FROM `destination_table_name`;复制代码

附录:mysql 常用命令

  • 登陆: mysql -h host -u username -p

  • 列出数据库:SHOW DATABESES;

  • 列出表: SHOW TABLES;

  • 列出表结构: DESC table_name

  • 使用一个数据库:USE database_name;

  • 导入:source 'file';

  • 导出:mysqldump -h 127.0.0.1 -u root -p "database_name" "table_name" --where="condition" > file_name.sql;

  • 查看慢日志:mysqldumpslow -s [c: 按记录次数排序 / t: 时间 / l: 锁定时间 / r: 返回的记录数] -t [n: 前 n 条数据] -g "正则" /path

  • 新增用户: insert into

    user(Host,

    User,

    authentication_string) value('localhost', 'username', password('pwd'))

mysql 5.7 新增用户

// 插入新用户insert into mysql.user(Host, User, authentication_string, ssl_cipher, x509_issuer, x509_subjectvalue('localhost', 'username', password('password'), '', '', '');// 数据库授权grant all privileges on dbname.name.* to username@localhost identified by 'password';// 刷新权限信息FLUSH PRIVILEGES;复制代码

原文:

转载于:https://juejin.im/post/5aa7703f6fb9a028bd4bfbda

转载地址:https://blog.csdn.net/weixin_34038652/article/details/91481627 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java版 b2b2c o2o电子商务云商平台spring cloud+springmvc+mybatis
下一篇:2019年ACM大赛 北大清华无缘前十,莫斯科大学第一

发表评论

最新留言

逛到本站,mark一下
[***.172.111.71]2022年05月22日 08时41分08秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

最新文章