mysql常用命令

本文详细介绍了如何启动和关闭MySQL服务,以及在命令行中进行数据库操作,包括创建、删除数据库,操作表,插入、更新和删除数据。此外,还讲解了SQL查询语句,如SELECT、JOIN、LIKE和REGEXP等正则表达式的使用。同时,讨论了MySQL事务的概念,如BEGIN、COMMIT和ROLLBACK,并展示了ALTER命令用于修改表结构。最后,概述了MySQL中的主要数据类型。
摘要由CSDN通过智能技术生成
1、启动/关闭mysql服务

以管理员身份运行命令窗口

net start 服务名称     //一般默认服务名称是mysql80  (而我的是mysql)
net stop 服务名称     //一般默认服务名称是mysql80  (而我的是mysql)
2、在命令窗口进入mysql进行操作数据库
mysql -u root -p       

如果报错mysql不是命令,那你需要配制环境变量,值是mysql所在路径,到bin这一层
在这里插入图片描述

3、mysql语句操作数据库

注意:每条命令后的 ;是必不可少的
注意:所有的数据库名,表名,表字段都是区分大小写的。所以你在使用SQL命令时需要输入正确的名称。

  • quit; ------ 退出命令窗口

  • show databases; ---- 显示已经创建的数据库

  • create database 数据库名;---- 创建数据库

  • drop database 数据库名; ----删除数据库

  • use 数据库名; ---- 选择你要操作的数据库

  • create table 表名( key值 类型 是否为空,key值 类型 是否为空......); ----创建一个简单的表

  • DESC 表名 ------ 显示表中各个字段的信息

  • show tables; ---- 显示表名

  • drop table 表名 ---- 删除表

  • INSERT INTO 表名 (field1, field2,...fieldN) VALUES (valueA1,valueA2,...valueAN),(valueB1,valueB2,...valueBN),(valueC1,valueC2,...valueCN)......;------ 新增数据

  • DELETE FROM <表名> [ WHERE .....] ----- 删除某条数据,如果没有WHERE条件的话,则是全部删除。

  • UPDATE 表名 SET field1=new-value1, field2=new-value2 [WHERE Clause] ----- 更新数据

  • SELECT field1,field2 FROM 表名 [WHERE ......] ----- 查询数据

  • SELECT field1, field2,...fieldN FROM 表名 WHERE condition1 [AND [OR]] condition2..... ------ WHERE 条件语句

  • SELECT * FROM 表名 WHERE fileld1 LIKE 'java%'; ----- LIKE模糊匹配字符串(这里表示查询以java开关的字符)
    like 匹配/模糊匹配,会与 % 和 _ 结合使用:

    • %:表示任意 0 个或多个字符
    • _:表示任意单个字符
    • [^] :表示不在括号所列之内的单个字符
         '%a'     //以a结尾的数据
      'a%'     //以a开头的数据
      '%a%'    //含有a的数据
      '_a_'    //三位且中间字母是a的
      '_a'     //两位且结尾字母是a的
      'a_'     //两位且开头字母是a的
      
  • SELECT field1 FROM 表名 [WHERE ...] UNION [ALL] SELECT field2 FROM 表名 [WHERE ...]; ---- UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中

    UNION 语句: 用于将不同表中相同列中查询的数据展示出来;(不包括重复数据)
    
    UNION ALL 语句:用于将不同表中相同列中查询的数据展示出来;(包括重复数据)
    
  • SELECT field1,field2... FROM 表1,表2... ORDER BY field1 [ASC [DESC][默认 ASC]], [field2...] [ASC [DESC][默认 ASC]] ---- ORDER BY排序,默认是升序ASC,可修改为降序DESC

  • SELECT field1,field2..., COUNT(*) FROM 表名 GROUP BY field; ----- GROUP BY 按指定值分组返回数据。

  • SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a LEFT JOIN tcount_tbl b ON a.runoob_author = b.runoob_author; ------ JOIN 返回以某种关系关联的两张表的指定的值。

    INNER JOIN.....ON.....(内连接,或等值连接):获取两个表中字段匹配关系的记录。
    LEFT JOIN.....ON.....(左连接):获取左表所有记录,即使右表没有对应匹配的记录。
    RIGHT JOIN.....ON.....(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。
    
  • SELECT * FROM 表名 WHERE field IS NULL
    WHERE 中Null值的判断

    IS NULL: 当列的值是 NULL,此运算符返回 true。
    IS NOT NULL: 当列的值不为 NULL, 运算符返回 true
  • SELECT field FROM 表名 WHERE field REGEXP '^st'; ------ REGEXP 正则匹配,这里表示的是以st开关的字符。

SELECT name FROM person_tbl WHERE name REGEXP 'ok$';   //查找name字段中以'ok'为
结尾的所有数据

SELECT name FROM person_tbl WHERE name REGEXP 'mar';   //查找name字段中包含'mar'字符串的所有数据:

SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';  //查找name字段中以元音字符开头或以'ok'字符串结尾的所有数据:


更多情况请参考正则操作符:
^ : 以某字符开关
$ :  以某字符结尾
[...] : 匹配【】内所包含的任意一个字符
[^...] : 匹配未包含的任意字符
p1|p2|p3 : 匹配 p1 或 p2 或 p3
* : 匹配前面的子表达式零次或多次
+ : 匹配前面的子表达式一次或多次
{n} : n 是一个非负整数。匹配确定的 n 
{n,m} : m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次 
  • MySQL 事务
    MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你既需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!

    BEGIN : 开启事务
    COMMIT : 提交事务
    ROLLBACK : 回滚,撤销正在进行的所有未提交的修改
    ......
    
    //示例:
    mysql> begin;  # 开始事务
     
    mysql> insert into runoob_transaction_test value(5);
     
    mysql> insert into runoob_transaction_test value(6);
     
    mysql> commit; # 提交事务,最终一起新增两条数据,如果执行失败则一条也不新增
    
    
  • ALTER命令,删除、修改、新增表中的字段以及表名

 ALTER TABLE testalter_tbl ADD i INT;   // 新增字段i
 ALTER TABLE 表名 DROP i;   // 删除字段i
 ALTER TABLE 表名 MODIFY c CHAR(10);  //修改字段类型
 ALTER TABLE 表名 CHANGE i j BIGINT;   //修改字段名称与类型,CHANGE 关键字之后,紧跟着的是你要修改的字段名,然后指定新字段名及类型
 
 ALTER TABLE 表名 MODIFY j BIGINT NOT NULL DEFAULT 100;    // 这里设置了默认值DEFAULT 
  • 使用 AUTO_INCREMENT 来定义序列
 CREATE TABLE school (
    -> id INT UNSIGNED NOT NULL AUTO_INCREMENT,   //自动增加
    -> PRIMARY KEY (id),       // 把id设置为主键
    -> name VARCHAR(30) NOT NULL,
    -> date DATE NOT NULL, 
    -> origin VARCHAR(30) NOT NULL );
4、mysql数据类型

数据类型众多,总分为三大类:

  • 数值类型
    在这里插入图片描述

  • 日期与时间类型
    在这里插入图片描述

  • 字符串类型
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值