iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL数据库命令
  • 435
分享到

MySQL数据库命令

数据库mysqlsql 2023-08-18 11:08:33 435人浏览 八月长安
摘要

Mysql数据库命令 一、数据库 1、创建数据库create database 数据库名2、查看数据库show databases;查看所有的数据库show create database 数据库名;查看指定数据库3、删除数据库dro

Mysql数据库命令

一、数据库

1、创建数据库create database 数据库名2、查看数据库show databases;查看所有的数据库show create database 数据库名;查看指定数据库3、删除数据库drop database 数据库名;4、切换数据库use 数据库名;5、查看正在使用的数据库select database();6、按指定码表创建数据库CREATE DATABASE 数据库名 CHARACTER SET UTF8;

二、表

1、创建表create table 表名(    字段名 类型(长度) 约束,    字段名 类型(长度) 约束);2、创建一个和之前一样但名字不一样的表create table 新表名 like 旧的表名;3、查看表show tables; 查看所有表4、查看表结构desc 表名;5、删除表drop table 表名;drop table 表名 if exists;判断是否存在,存在则删6、修改表名rename table 旧名 to 新名;7、修改表的字符集alter table 表名 character set 字符集;8、向表中添加字段alter table 表名 add 字段名 字段类型(长度);9、修改表中字段的类型或长度alter table 表名 modify 字段名 字段类型(长度);10、修改字段名alter table 表名 change 旧字段名 新字段名 类型(长度);11、删除字段alter table 表名 drop 字段名;12、查询表详细结构show create table 表名称;

三、操作数据

1、写字段名的,插入全部数据insert into 表名(字段1,字段2 ...) values(数据1,数据2 ...);后面括号里的数据与第一个括号的字段顺序要一一对应2、不写字段名的,插入全部数据(全列添加)insert into 表名 values(数据1,数据2 ...)括号内按创建表的列顺序添加数据3、插入指定字段值insert into 表名(字段名) values(数据); 4、修改(不带条件)update 表名 set 字段名 = 值;5、修改(带条件)update 表名 set 字段名 = 值 where 字段名 = 值;6、删除数据delete from 表名;一个个删除表中所有数据,效率慢,一般不用truncate 表名; 直接删除整个表,并且再创建一个新表7、删除一行数据delete from 表名 where 条件;

四、查询数据

1、查询表中所有数据select *from 表名;2、查询表,只显示指定的字段select 指定字段1,指定字段2,指定字段3... from 表名;3、将所有的员工信息查询出来,并将列名改为中文显示别名查询,使用关键子AS (不写AS也可)SELECT eid AS '编号',ename AS '姓名',sex AS '性别',salary AS '薪资',edate AS '入职日期',edpt AS '部门'FROM emp;4、查一共有几个部门(指定字段名)(去重查询)select distinct 字段名 from 表名;5、查询所有的员工的工资+1000进行显示select ename,salsy+1000 from emp;6、查询含有“八”的所有员工信息SELECT *FROM emp WHERE ename LIKE "%八%";7、查询“沙”开头的所有员工信息SELECT *FROM emp WHERE ename LIKE "沙%";8、查询第三个字为“马”的所有员工信息SELECT *FROM emp WHERE ename LIKE "__马%";9、查询没有部门的员工信息SELECT *FROM emp WHERE edpt IS NULL;10、查询有部门的员工信息SELECT *FROM emp WHERE edpt IS NOT NULL;11、查询名字为孙悟空的员工信息SELECT *FROM emp WHERE ename = '孙悟空';12、查询薪资大于500的员工信息SELECT *FROM emp WHERE salary > 500;13、查询薪资不是5000的员工信息SELECT *FROM emp WHERE salary != 5000;SELECT *FROM emp WHERE salary <> 5000;14、查询工资在200到500之间的SELECT *FROM emp WHERE salary>=200 AND salary <= 500;SELECT *FROM emp WHERE salary BETWEEN 200 AND 500;15、指定的参数 notSELECT *FROM emp WHERE salary NOT IN(200,300);16、去重查询的命令select distinct 字段1,字段2,… from 表名;17、limit关键字(分页查询)方言mysql格式:select 字段 from 表名 limit offset,lengthoffset :从哪开始  默认是0length :要查询的条数如需查询3条数据,需写三条语句,一个语句分一页分页查询,每次显示2条数据起始索引= (当前页-1) * 每页的条数

五、单表操作

5-1 排序

1、通过一个字段升序排序select *from 表名 order by 字段名;2、通过一个字段降序排序select *from 表名 order by 字段名 desc;3、如果薪资一样,按编号排select *from 表名 order by 薪资 desc , 编号 desc;

5-2 聚合

格式:select 聚合函数(字段名) from 表名聚合函数:sum、max、min、avg如求平均值select AVG(字段名) from 表名;

5-3 分组

1、格式SELECT * FROM emp GROUP BY 字段 [having 条件]只能显示集合中的第一条数据,因此单纯的使用分组查询是没有实际意义的所以,经常使用聚合函数和分组结合使用2、通过性别进行分组,求每组的平均薪资select 性别 ,avg(薪资) from 表名 group by 性别;3、查看所有的部门信息select 部门 from 表名;4、查询每个部门的平均薪资select 部门,avg(薪资)from 表名 group by 部门;5、查询每个部门的平均薪资,部门名称不能为nullselect 部门,avg(薪资)from 表名 where 部门 is not null group by 部门;6、查询平均薪资大于600的部门select 部门,avg(薪资)from 表名 group by 部门 having avg(薪资) >600; 7、结论:where : 分组前的过滤,进行条件判断,后面不能跟聚合函数having : 分组后的过滤,进行条件判断,后面可以跟聚合函数

5-4 主键

1、第一种设置主键在创建表的时候就设置create table 表名(sid int primary key,sname varchar(10));2、第二种设置主键在创建表的最后一行设置主键create table 表名(    sid int,    sname varchar(10),    primary key(sid)); 3、第三种设置主键在创建表之后再设置主键通过向表添加字段的方式添加create table 表名(    sid int,    sname varchar(10));alter table 表名 add primary key(sid);4、删除主键alter table 表名 drop primary key;5、主键特点:不可重复、唯一、非空6、针对业务去设计主键,每张表都要设计一个主键id主键没有实际的含义,给数据库和程序使用的,跟客户无关主键没有意义没关系,只要保证不重复、非空就可以了7、主键设置初始值自增(也是设置主键的时候的默认写法)create table 表名(    sid int primary key auto_increment,    sname varchar(10));8、设置主键从100开始自增CREATE TABLE 表名(   sid INT PRIMARY KEY AUTO_INCREMENT,   sname VARCHAR(10))AUTO_INCREMENT=100;9、删除操作对主键的影响delete : 对自增没有影响truncate :恢复自增初始化,从1开始自增

5-5 唯一约束

1、格式字段名 字段类型 unique;

5-6 非空约束

1、含义设置的字段不能为空2、格式字段名 字段类型 not bull;

5-7 事物

1、什么是事物是由一条或者多条sql语句组成要么全部成功,要么全部失败(执行回滚)2、回滚在事务运行的过程中发生了某个故障,事务便不再继续执行下去,系统对事物中数据所有已完成的操作全部撤销,滚回到开始时的状态3、转钱案例先初始化一个表:CREATE TABLE zh(   id int primary key auto_increment,   sname VARCHAR(20),   money DOUBLE);INSERT INTO zh VALUES(NULL,'小明',1000);INSERT INTO zh VALUES(NULL,'小王',1000);开启事务:start transaction;转钱操作:UPDATE zh SET money = money - 500 WHERE id = 1;(系统崩了)UPDATE zh SET money = money + 500 WHERE id = 2;回滚:ROLLBACK;提交:commit;4、查看当前的提交方式show variables like 'autocommit';on :自动提交off :手动提交5、取消自动提交SET @@autocommit = off;

5-8 事务四大特性

特性含义
原子性每个事务都是一个整体,不可再拆分。事务中所有的sql要么全部执行成功,要么都失败
一致性事务在执行前数据库的状态与执行后数据库的状态保持一致;
隔离性事务和事务之间不应该相互影响,执行时保持隔离状态
持久性一旦事务执行成功,对数据库修改是永久的。就算你关机,数据也会保存下来

5-9 MySQL的隔离级别

数据的并发访问

一个数据库可能有多个客户端在访问,这些客户端都可以并发方式访问数据库,数据库的相同数据可能被多个事务同时访问,如果我们不对其采用隔离,就会发生各种问题,破坏数据的完整性

并发访问引发的问题含义
脏读一个事务读取到了另一个事务的尚未提交的数据
不可重复读一个事务中两次读取的数据内容不一致
幻读一个事务中,某一次的select操作结果所表现得数据状态,无法支撑后续的因为误操作,查询到的数据不准确,导致幻读

四种隔离级别

级别名字隔离级别脏读不可重复读幻读
1读未提交read uncommitted不能不能不能
2读已提交read committed不能不能
3可重复读repeatable read不能
4串行化serializable

查看隔离级别

select @@transaction_isolation;

设置隔离级别

set global transaction isolation level 四大隔离级别之一;

六、多表操作

6-1 外键约束
外键约束是指从表和主表的主键对应的那个字段(在从表中)主从关系:主表:主键id所在的表,约束别人的表从表:外键所在的表,被约束的表添加外键约束:对已有表添加:alter table 从表 add[两张表关系描述] foreign key(外键id) references 主表(主键id);在创建表的时候添加:在表的最后一行加一句:foreign key(外键id) references 主表(主键id);删除外键:alter table 从表 drop foreign key 外键约束名称;
6-2 级联删除
含义:实现在删除主表数据的时候,把从表的数据也删除掉实现:在建表的添加外键的时候,添加一句:on delete cascade;
6-3 多表设计
关系说明
一对一身份证: person 身份证 主从关系无所谓
一对多部门 : 一个部门 多个员工 字段多的(数据多了)当从表 字段少的主表
多对多课程 :中间表当主表 其他多表是从表
6-4多表查询
笛卡尔积:两个集合内所有元素都各自相乘,可以通过加where语句用外键消除
内连接查询:隐式内连接;显式内连接概述:通过指定的条件去匹配两张表,匹配成功就显示,匹配失败就不显示如何匹配: 从表的外键 = 主表的主键隐式内连接:from后面直接写多个表名,并且使用where连接条件where条件进行无用数据的过滤格式:select 字段 from 左表,右表 where 连接条件;显式内连接:格式:select 字段 from 左表[inner] join 右表 on 过滤条件;
外连接查询:左外连接;右外连接左外连接:以左表为基准,匹配右表中的数据,如果匹配成功就显示如果匹配不到,左表中的数据正常显示格式:select 字段名 from 左表 left[outer] join 右表 on 过滤条件;右外连接:以右表为基准,匹配左右表中的数据,如果匹配成功就显示如果匹配不到,右表中的数据正常显示格式:select 字段名 from 右表 left[outer] join 左表 on 过滤条件;
子查询:一条select查询语句的结果,作为另外一条select语句的一部分特点:子查询必须在小括号中子查询一般作为父查询的条件去使用分类:where型子查询from型子查询exists型子查询where型子查询:将子查询的结果,作为父查询的比较条件select 字段名称 from 表名 where 字段 = (子查询)from型子查询:将子查询的结果,作为一张表,提供给父层查询使用select 字段名称 from 表名 (子查询) 别名 where 条件exists型子查询:子查询的结果是单列多行的,类似于一个数组,给父层使用select 字段名称 from 表名 别名 where 字段 in (子查询)总结:子查询如果查询出的是一个字段(单列),那就再where后面作为条件使用 子查询如果查询出的是一个表(多列),就当一张表去操作(起别名)

来源地址:https://blog.csdn.net/weixin_44000925/article/details/126530840

您可能感兴趣的文档:

--结束END--

本文标题: MySQL数据库命令

本文链接: https://www.lsjlt.com/news/373883.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL数据库命令
    MySQL数据库命令 一、数据库 1、创建数据库create database 数据库名2、查看数据库show databases;查看所有的数据库show create database 数据库名;查看指定数据库3、删除数据库dro...
    99+
    2023-08-18
    数据库 mysql sql
  • Mysql数据库操作命令
    MySQL作为最常用的数据库之一。总结一些常用命令便于日常使用。一、关于库的操作 1、查看数据库 mysql> show databases; +--------------------+ | Dat...
    99+
    2022-10-18
  • MySQL数据库基本命令
    本篇内容介绍了“MySQL数据库基本命令”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.创建数据库  C...
    99+
    2022-10-18
  • MySQL数据库命令大全
    1.数据库结构: 数据库–>数据表–>行(记录):用来描述一个对象的信息 列(字段):用来描述对象的一个属性 1 打开数据库 show databases 2 创建数据库 create database+数据库名 ...
    99+
    2023-09-03
    数据库 mysql
  • MySql——数据库常用命令
    一、关于数据库的操作 查看mysql中有哪些数据库 show databases; 显示创建指定数据库MySQL语句 SHOW CREATE DATABASE 数据库名: 使用指定数据库 use 数据...
    99+
    2023-09-01
    数据库 mysql
  • Mysql数据库操作(命令行)
    1 环境   树莓派:   mysql:   2  指令   以下是从命令行中连接mysql服务器的简单实例:   [root@host]# mysql -u root -p Enter password:****** ...
    99+
    2018-02-06
    Mysql数据库操作(命令行)
  • MySQL创建数据库的命令
    本篇内容主要讲解“MySQL创建数据库的命令”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL创建数据库的命令”吧!MySQL 创建数据库使用 ...
    99+
    2022-10-18
  • mysql数据库备份的命令
    这篇文章主要介绍“mysql数据库备份的命令”,在日常操作中,相信很多人在mysql数据库备份的命令问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql数据库备份的命令”...
    99+
    2022-10-18
  • MySQL 删除数据库的命令
    当数据库不再使用时应该将其删除,以确保数据库存储空间中存放的是有效数据。删除数据库是将已经存在的数据库从磁盘空间上清除,清除之后,数据库中的所有数据也将一同被删除。在 MySQL 中,当需要删除已创建的数据...
    99+
    2022-10-18
  • MySQL数据库常用命令大全
    文章目录 一、 MySQL的启动与停止二、登录MySQL三、 数据库的基本操作(一)创建一个数据库(二)删除数据库(三)使用数据库(四) 查看所有的数据库(五)创建一个数据库并指定它的编码方式...
    99+
    2023-09-21
    数据库
  • MySQL mysqldump备份数据库命令行
    mysqldump是mysql用于转存储数据库的实用程序。它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令CREATE TABLE INSERT等。 mysqldump...
    99+
    2022-10-18
  • mysql数据库基础命令结尾
    27 使用mysqladmin 关闭数据库mysqladmin -uroot -poldboy123 shutdownps -ef |grep mysql28 mysql忘记密码重新修改密码过程:mysql...
    99+
    2022-10-18
  • Mysql数据库常用命令总结
    本篇内容介绍了“Mysql数据库常用命令总结”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  启动Mysq...
    99+
    2022-10-18
  • MYSQL数据库基本操作命令
    MySQL数据库系统是一个典型的C/S(客户端/服务器)架构的应用,要访问MySQL数据库需要使用专门的客户端软件。在Linux系统中,最简单、易用的MySQL客户端软件是其自带的mysql命令工具。登录到...
    99+
    2022-10-18
  • MySQL数据库常用命令小结
    目录1.对数据库常用命令2.数据库中对表的命令插入数据数据查询常用函数模糊查询多表连接查询1.对数据库常用命令 1.连接数据库mysql -u用户名 -p密码2.显示已有数据库sho...
    99+
    2023-01-12
    MySQL数据库命令 MySQL命令
  • MYSQL数据库有哪些常用命令
    下面讲讲关于MYSQL数据库有哪些常用命令,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完MYSQL数据库有哪些常用命令这篇文章你一定会有所受益。Mysql数据库是一个多用户,多...
    99+
    2022-10-18
  • mysql查看数据库信息的命令
    简介MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS...
    99+
    2022-10-18
  • mysql通过命令行创建数据库
    1.语法: CREATE DATABASE IF NOT EXISTS 数据库名称 DEFAULT CHARSET 默认编码集 COLLATE 校对规则2.语法解析: IF NOT EXISTS:如果该数据...
    99+
    2022-10-18
  • 不登陆数据库执行mysql命令
    1.通过echo实现(这个比较常见)echo "show databases;" | mysql -uroot -pqwe123 -S /data/3307/mysql.sock提示:此法适合单行字符串比较...
    99+
    2022-10-18
  • mysql通过命令行查看数据库
    1.语法: SHOW DATABASES;2.语法解析: SHOW DATABASES:显示当前连接的数据库服务器上的所有的数据库信息3.示例: SHOW DATABASES;4.运行结果截图: ...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作