MySQL基本操作指令

MySQL

注: MySQL对大小写不敏感, 需要对大小检索, 使用关键字binary, "[]"中内容为可选内容; table_name, tableName表示表名, columnName表示列名, DataType表示表中列数据类型, 粗体部分表示关键字

  1. 创建数据库: create database [if not exits] 数据库名;
  2. 删除数据库: drop databases 数据库名;
  3. 使用数据库: use 数据库名;
  4. 创建数据表: create table 数据表(column_name1 column_type,…);
  5. column字段添加: not null#不为空, auto_increment#自增, primary key#主键, engine#储存引擎, charset#设置编码
  6. 删除表: drop table table_name;
  7. 表中插入数据:insert into table_name(field1,field2…)values(value1,value2…); 字符串使用双引号, 插入多条记录 insert into table_name(field1,field2,…)values(valueA1…),(valueB1…)…;
  8. insert ignore into与insert into的区别: 如果当前表限制插入重复数据, 那么insert ignore into会忽略你要插入的重复数据返回以个警告, 而insert into不会忽略, 依旧插入, 直到SQL语句报错
  9. 检索:select column_name1,column_name2 from table_name[where Clause][limit n][offset m]; limit设定返回记录数, offet指定select检索数据开始的偏移量
  10. where使用:类似于编程语言中的if, 可使用">,<,!=,>=,<="具有条件性的选取数据, 可用于delete/update(删除/修改);
  11. 修改表中数据:update table_name set field1=new_value1, field2=new_value2…[where Clause]
  12. 删除表中记录: delete from table_name[where Clause]; 操作行记录, 没有where, 表中所有记录全被删除
  13. 模糊搜索:select field1, filed2…fieldN from table_name where field1 like condition1 [and [or]] field2=‘somevalue’; 通常将like与"% 下划线"结合使用, “%” 表示任意字符与unix正则表达式中 “*” 差不多, “下划线"表示字符只出现一次, 不使用”% _“进行模糊判断时, like的效果与”="一致
  14. 连接两个select语句结果组合到一个集合中(就所谓的求两个结果在指定词条下的交集),union具有删除重复数据的功能: select expression1…expressionN from tables [where conditions] union [all|distinct] select expression1…expressionN from tables [where conditions]; expression1: 要检索的列, tables:要检索的数据表, all:返回所有结果集,包含重复数据, distinct: 默认已经删除重复数据, distinct对结果没有影响
  15. 排序:select field1…fieldN from table_name1…table_nameN order by field,[field2…][asc[desc]] where [like]; 使用任何字段作为排序条件,asc:升序, desc:降序 ; 数据默认为升序排列
  16. 根据一个或多个列结果集进行分组: select column_name,function(column_name) from table_name where column_name operator value group by column_name; 在分组的列上我们可以使用count, sum, avg等函数, 例:select name,cout(*) from employee group by name;将employee中name出现的次数做一个统计, 注:可以使用with rollup在实现分组的基础上再进行统计(sum,avg,count…), group by后面的字段必须与select处的字段一致
  17. 数据表连接,在两个或多个表中查询数据: inner join(内连接):获取两个表中字段关系的记录可以省略,求交集inner, left join(左连接):获取左表记录,即使右表没有对应匹配的记录, right join(右连接):与左连接相反
  18. null处理: 表中记录为null时, where只能采用is null或者 is not null 来进行判断, 而不能使用=null或者!=null判断
  19. MySQL事务: 用于处理操作量大,复杂度高的数据, 维护数据库完整性
  20. 默认情况下,事务自动提交(执行完SQL,自动执行commit), 显示开启事务使用begin ,start transaction, set autocommit=0禁止自动提交
  21. 回滚结束用户事务,撤销正在进行的所有未提交的修改: rollback/rollback work;
  22. 在事务中创建一个保存点,允许有多个保存点:savepoint identifier;
  23. 删除事务保存点,没有指定保存点执行会抛出异常:release savepoint identifier;
  24. 把事务回滚到标记点:rollback to identifier;
  25. 设置事务隔离级别: set transaction;
  26. MySQL Alter 修改数据:
  27. 添加表字段: alter table table_name add column_name DataType; #添加后的字段可在DataType后面使用 first/after固定字段在第一列或者在某一列之后
  28. 删除表字段: alter table table_name drop column_name; #数据表中只剩下一个字段无法删除当前字段
  29. 修改字段类型: alter table table_name modify column_name New_DataType;
  30. 使用change修改字段名,新字段名后面必须指定类型:alter table table_name change column_name NewColumn_name ColumnDataType;
  31. 修改字段后可指定字段是否包含默认值/not null;
  32. 设置字段默认值: alter table table_name alter column_name set default value;
  33. 删除字段默认值:alter table table_name alter column_name drop default;
  34. 修改表名: alter table table_name rename to Newtable_name;
  35. 创建普通索引: create index indexName on table_name(username(length));
  36. 修改表结构添加索引: alter table table_name add index indexName(columnName);
  37. 单列索引:一个索引只包含单个列; 组合索引: 一个索引包含多个列
  38. 创建表的时候直接指定: create table table_name(… index [index_name] (userName(length)));
  39. 删除索引: drop index [indexName] on table_name;
  40. 创建唯一索引(索引值必须唯一,可为null) ,组合索引,列值必须唯一: create unique index indexName on tableName(userName(length)); #唯一索引相比于普通索引就添加一个unique, 在唯一索引中插入相同数据会出错
  41. 使用alter添加/删除索引:alter table tableName add primary key(columnList);#索引值必须唯一不能为空 alter table tableName add unique indexName(columnList);#创建的索引值必须是唯一的 alter table tableName add index indexName(columnList);#添加普通索引,索引值可出现多次 alter table tableName add fulltext indexName(columnList);#指定索引值为fulltext,用于全文索引; 删除就在index indexName前面添加drop
  42. 显示索引信息:show index from tableName;
  43. alter添加/删除主键: 在primary key 主键名前面添加 add/drop
  44. MySQL临时表:保存一些临时数据, 临时表只在当前连接可见, 关闭连接, MySQL会自动删除并释放所有空间
  45. 临时表创建:create temporary table tableName(columnName DataType…); 创建完成后使用show tables是无法查看临时表, 它只在当前连接可见; 删除使用drop table tableName
  46. 服务器版本信息:select version() 当前数据库名:select database() 当前用户名:select user()
  47. 服务器状态: show status; 服务器配置变量: show variables
  48. 查看当前数据库下包含数据表情况:show tables;
  49. 查看指定数据表的表结构: desc 表名;
  50. 重置序列: 当删除使用auto_increment列中记录会导致序列出错, 需要重写对该列使用auto_increment, 使用auto_increment=value; 指定开始值
  51. 统计重复数据: 首先确定那一列会出现重复记录,在列选择列表使用count(*)列出那些列或者使用group by列出那些列, 最后将having子句设置重复数大于1; 例:SELECT COUNT(*) as repetitions, last_name, first_name
    -> FROM person_tbl
    -> GROUP BY last_name, first_name
    -> HAVING repetitions > 1;
  52. 过滤重复数据: 使用distinct/group by, 例: select distinct columnName from tableName 或者select columnName from tableName group by columnName;
  53. 删除重复数据: 可以使用为表添加index或者primary key

注: 一部分内容, 在后期进行修改和补充, 有错误的地方还请指出

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/468750.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php 公众号验证回调方法_微信公众号关键词自动回复设置方法!

什么是公众号关键词自动回复&#xff1f;在微信公众号平台设置关键词自动回复&#xff0c;可以通过添加规则&#xff0c;关注/订阅的用户发送的消息内容如果是你设置的关键字&#xff0c;即可以实现自动回复预先设置好的内容。关键字自动回复设置方法&#xff1a;1、 首先我们进…

图文|Android 使用Thread 和多线程使用互斥锁

为什么需要多线程进行开发&#xff1f;多线程不管是嵌入式系统RTOS&#xff0c;Linux&#xff0c;还是应用开发&#xff0c;中间件开发&#xff0c;都是必不可少的&#xff0c;做一个技术的时候&#xff0c;如果能做到举一反三&#xff0c;下次使用的时候不会再遇到坑&#xff…

01.轮播图之三 : collectionView 轮播

个人觉得 collection view 做轮播是最方便的&#xff0c;设置下flowlayout 其他不会有很大的变动&#xff0c;没有什么逻辑的代码 lets begin…… 创建自定义的view .h 声明文件 interface CollectionViewShuffling : UIViewproperty (nonatomic,strong)NSArray *array;end .m …

JDBC入门级操作

JDBC:数据库连接, 通过接口实现不同数据库之间的切换, 面向接口编程 JDBC驱动程序将JDBC调用映射成特定的数据库调用 驱动类型: 1.JDBC驱动:JDBC-ODBC桥,最早的实现方式,将JDBC API映射到ODBC API,Java8中已删除 2.直接将JDBC API映射成数据库特定的客户端API,次驱动包含特定数…

手机调试python的软件_Appium+Python(ios真机移动端App H5混合自动化实战测试)

一、环境搭建篇(一)安装JDK大家自行安装(二)安装Appium1、appium desktop2、appium server> brew install node # get node.js> npm install -g appium # get appium> npm install wd # get appium client> appium & # start appium> node your-appium-test…

计算机专业的学生该选择日后的人生道路?继续从事IT还是考公务员……

问题来自知乎原问题如下&#xff1a;知乎上的盆友们大家好&#xff01;我是某高校大二学生。万能的知友们&#xff0c;有相关经验的大家给点宝贵意见呗&#xff0c;万分感谢。个人问题&#xff1a;我当时是听说这一行工资高&#xff0c;因为家里条件一般&#xff0c;所以想要挣…

file_put_contents()写入数组

file_put_contents()写入数组 $arr array(name>张三&#xff0c;‘age’>26, sex>男 ) $str var_export($arr,TRUE); file_put_contents($filename,$str);转载于:https://www.cnblogs.com/icefei/p/6773916.html

JVM垃圾收集器与内存分配策略学习总结

方法区: 1.线程共享 2.储存类信息,常量,静态变量,编译器编译后的代码 3.非堆(别名)用于区分Java堆 4.不需要连续的内存 5.可以固定或可扩张 6.选择不实现垃圾回收//这个区域很少进行垃圾回收 7.针对常量池回收 8.对类型的卸载 9.无法满足内存分配需求抛出OutOfMemoryError4 虚…

汇编比较两个数大小_计算机是怎样跑起来的 -- 体验一次汇编过程

标志内存或I/O中存储单元的数字叫做“地址”。CPU中的标志寄存器有什么作用&#xff1f;用于在运算指令执行后&#xff0c;存储运算结果的某些状态。从程序员的角度看硬件CPU&#xff1a;种类&#xff0c;时钟信号的频率。可以使用哪种机器语言取决于CPU的种类。内存信息&#…

Nginx 作为 WebSockets 代理

WebSocket 协议给我们提供了一个创建可以支持客户端和服务端进行双向实时通信的web应用程序的方法。相比之前使用的方法&#xff0c;WebSocket&#xff08;作为HTML5的一部分&#xff09;可以使我们更容易开的发出这种类型的应用程序。绝大多数的现代浏览器都支持WebSocket&…

设计模式小结

开始的毛病:变量命名不规范,if-else判断有的代码做无用功,代码健壮性太差,没有做try-cath异常处理 工厂模式(创建型模式): 创建对象接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建延伸到子类进行 主要解决接口选择问题,明确计划不同条件下执行创建不同实例 通过子…

android区块链 钱包_区块链钱包Cashbox 开发工程师聊一聊开源

今天与大家聊一聊软件开源。事情的起因是一次闲谈的时候&#xff0c;市场部的同事表示&#xff1a;不做软件开发的人不能够理解为什么要把软件源代码公开出去。当时的我很惊讶&#xff0c;因为就像他们不理解为什么要开源一样&#xff0c;我也不理解他们为什么不理解为什么要开…

dom4j创建、解析xml文件(增删改查)

先对xml文件进行解析,xml文件如下图所示 <?xml version"1.0" encoding"UTF-8"?><?eclipse version"3.4"?> <student1> <studentID>001</studentID> <name>sanny</name> <major>…

Java的Class类文件结构及基本字节码指令

Class类文件的结构 概念:Class文件是一组以8位字节为基础单位的二进制流 按顺序整齐排列 没有任何分隔符,内容全部是运行时的必要数据,没有空隙存在 排序方式:高位在前 Big-Endian:最高字节在地址最低位,最低字节在地址最高位 Little-Endian:相反 储存方式:类似于C语言结构体…

Android 7.1 32位apk导致的系统库找不到问题

出现问题 因为我们安卓7.1系统的应用都是64位的APK&#xff0c;我们自己开发的应用是32位的APK&#xff0c;这样在启动的时候&#xff0c;就大概率的出现库找不到的问题。 错误的日志如下&#xff1a; Line 440: 03-12 10:48:39.620 634 634 W PackageManager: Instruct…

python基础知识下载_Python基础知识(一)

一、安装pythonwindow系统下先下载的 python 安装包&#xff0c;直接安装即可。为确认是否安装正确&#xff0c;可用系统记事本创建一个hello.py的程序其中包含如下内容&#xff1a;1 #!/usr/bin/env python32 print("Hello", "World!")代码说明&#xff1…

单词的理解 —— 词义的变化(翻译)

mimic&#xff1a;模仿&#xff0c;摹拟&#xff08;而不是最小化&#xff09;minder&#xff1a;n. 看守者&#xff1b;照顾者 保镖等近似含义&#xff1b;outstanding&#xff0c;outstanding work&#xff1a; 未完成的工作&#xff0c;backlog&#xff1a;n. [管理] 积压的…

JVM类加载机制_字节码执行引擎_Java内存模型

类加载机制: 类加载生命期:加载(Loading),验证(Verification),准备(Preparation),解析(Resolution),初始化(Initialization),使用(Using),卸载(Unloading)初始化:1.遇到new,getstatic,putstatic,invokestatic指令,类没有进行初始化,先触发初始化2.java反射机制3.初始化一个类,…

最新车载导航端口检测工具_高德地图这个功能 把微信都没做好的车载社交解决了?...

在汽车网联化和智能化带给人们的诸多想象里&#xff0c;车内社交似乎是最虚无缥缈的那个。在移动互联网领域&#xff0c;微信通过满足人们社交需求这个基本点&#xff0c;构建起庞大的用户群体&#xff0c;展示出巨大的市场前景。但在驾车场景下&#xff0c;车载社交该怎么玩&a…

王译潇20162314 第九周作业总结

学号 20162314 2016-2017-2 《Java程序设计》第九周学习总结 教材学习内容总结 数据库是为其他程序提供数据的应用软件 关系数据库通过唯一的标识符在不同表的记录间建立了关系 JDBC API用来建立到数据库的连接 CREATE TABLE SQL 语句用来创建新的数据库表 ALTER TABLE SQL 语句…