MySQL命令总结

124 阅读5分钟

这篇内容主要总结了MySQL命令,命令创建数据库、创建数据库表、对表的约束以及对数据库中对表里面的数据一些增删改查命令。附图更为详细

对服务器命令 显示当前服务器版本

SELECT VERSION();

显示当前日期时间

SELECT NOW();

显示当前用户

SELECT USER();

显示当前使用数据库

SELECT DATABASE();

对数据库命令 创建数据库

CREATE DATABASE db_name CHARACTER SET[=]charset_name;

查看创建好的数据库

SHOW CREATE DATABASE db_name;

查看当前所有数据库列表

SHOW DATABASES;

打开数据库

USE db_name;

修改数据库

ALTER DATABASE db_name [DEFAULT] CHARACTER SET[=]charaet_name;

删除数据库

DROP DATABASE [IF EXISTS] db_name ;

查看系统支持的引擎

SHOW ENGINES;

对数据库中的表的命令 创建数据表

CREATE TABLE [IF NOT EXISTS] table_name(column_name1 data_type,column_name2 data_type);

查看指定数据库的表

SHOW TABLES FROM db_name [LIKE '条件' | WHERE 表达式];

查看数据表结构

-- 方法一
SHOW COLUMNS FROM tbl_name [FROM db_name];
-- 方法二
DESCRIBE 表名;
DESC 表名;

添加表中新字段

ALTER TABLE 表名 ADD 列名 数据类型(范围);

修改表中新字段

ALTER TABLE tbl_name CHANGE 旧列名 新列名 新数据类型;
-- 修改crm_pms 表中address字段,改为add字段,查看该表结构
ALTER TABLE crm_pms CHANGE address add VARCHAR(30);
DESC crm_pms;

删除一个字段

ALTER TABLE 表名 DROP 列名;
-- 删除crm_pms表中的add字段
ALTER TABLE crm_pms DROP add;
DESC crm_pms;

删除数据表

DROP TABLE [IF EXISTS] 表名;
-- 删除crm_pms表
DROP TABLE crm_pms;

约束 主键约束 语法格式 #创建数据表时添加列级别主键约束

CREATE TABLE 表名(
      列名1 数据类型(数据范围) PRIMARY KEY,
      列名2 数据类型(数据范围) PRIMARY KEY
);
```sql
-- 创建数据表时添加表级别唯一约束,可以多个主键约束

```sql
CREATE TABLE 表名(
      列名1 数据类型(数据范围),
      列名2 数据类型(数据范围) ,
      PRIMARY KEY(列名1,列名2)
);

修改表时添加主键约束

ALTER TABLE 表名 ADD PRIMARY KEY(列名1,列名2);

删除主键约束

ALTER TABLE 表名 DROP PRIMARY KEY;

唯一约束 语法格式 -- 创建数据表时添加列级别主键约束

CREATE TABLE 表名(
      列名1 数据类型(数据范围) PRIMARY KEY,
      列名2 数据类型(数据范围) UNIQUE [KEY],
      列名2 数据类型(数据范围) UNIQUE [KEY]
);

-- 创建数据表时添加表级别唯一约束

CREATE TABLE 表名(
      列名1 数据类型(数据范围),
      列名2 数据类型(数据范围) ,
      UNIQUE KEY(列名1,列名2)
);

修改表时添加唯一约束

ALTER TABLE 表名 ADD UNIQUE KEY(列名1,列名2);

删除唯一约束

ALTER TABLE 表名 DROP INDEX 约束名称;

查看某张表中全部的索引

SHOW KEYS FROM 表名;

默认值约束 语法格式

CREATE TABLE 表名(
      列名1 数据类型(数据范围) PRIMARY KEY,
      列名2 数据类型(数据范围) UNIQUE [KEY],
      列名2 数据类型(数据范围) DEFAULT 参数值
);

修改表时添加默认值

ALTER TABLE 表名 MODIFY 列名 数据类型 DEFAULT 默认值;

删除默认值

ALTER TABLE 表名 MODIFY 列名 数据类型 DEFAULT NULL;
ALTER TABLE 表名 MODIFY 列名 数据类型;

非空约束 语法格式

CREATE TABLE 表名(
      列名1 数据类型(数据范围) PRIMARY KEY UNIQUE [KEY],
      列名2 数据类型(数据范围) UNIQUE [KEY],
      列名2 数据类型(数据范围) DEFAULT 参数值,
      列名2 数据类型(数据范围) NOT NULL
);

修改表时添加非空约束

ALTER TABLE 表名 MODIFY 列名 数据类型 NOT NUL

删除非空约束

ALTER TABLE 表名 MODIFY 列名 数据类型;

外键约束 语法格式

CREATE TABLE 表名1(
      列名1 数据类型(数据范围) PRIMARY KEY,
      列名2 数据类型(数据范围) UNIQUE [KEY],
      列名3 数据类型(数据范围) DEFAULT 参数值,
      列名4 数据类型(数据范围) NOT NULL
);
CREATE TABLE 表名2(
      列名1 数据类型(数据范围) PRIMARY KEY,
      列名2a 数据类型(数据范围) UNIQUE [KEY],
      列名3 数据类型(数据范围) DEFAULT 参数值,
      列名4 数据类型(数据范围) NOT NULL,
      FOREIGN KEY(列名2a) PEFERENCES 表名1(列名2)
);

修改表时添加外键约束

ALTER TABLE 子表 ADD CONSTRAINT 约束名称 FOREIGN KEY(列名) PEFERENCES 主表(列名);

删除外键约束

ALTER TABLE 表名 DROP FOREIGN KEY 约束名称;

对数据库中的表的数据的命令 添加记录

插入语句,指定列插入数据

INSERT INTO 表名(列名1,列名2) VALUES(列值1,列值2),(列值1,列值2);

-- 表名中的列名必须和VALUES 中的列值一一对应

全部列插入数据

INSERT INTO 表名 VALUES(列值1,列值2);
-- VALUES 中的列值,必须和表结构中的列名是对应的

修改记录(更新语句)

UPDATE 表名 SET 列名1=该列新值,列名2=该列新值 WHERE 条件;
-- 如果不指定条件WHERE,将更新表中所有记录

删除记录

DELETE FROM 表名 WHERE 条件;

查询记录

查询全部列的数据

SELECT * FROM 表名;

查询指定列数据

SELECT 列名1,列名2, FROM 表名;

为列指定别名

SELECT 列名1 AS 别名1,列名2AS 别名2 FROM 表名;
 -- AS 关键字可以省略

去掉重复的列值

SELECT DISTINCT 列名 FROM 表名;

分页查询

SELECT 列名 FROM 表名 LIMIT 初始位置,行数;
-- 初始位置表示从不那一行开始,是一个可选值,默认值为0
-- 行数表示要查询的行数

排序

SELECT 列名 FROM 表名 ORDER BY 列名1 ASC/DESC,列名2 ASC/DESC;
-- ASC 升序(默认)
-- DESC 降序
-- 如果对多列进行排序的时候,首先进行排序第一列,第一列中必须有相同的列值,才会进行第二列排序

条件查询

SELECT 列名 FROM 表名
WHERE 列名 LIKE 模糊条件
ORDER BY 列名1 ASC/DESC,列名2 ASC/DESC;

-- 模糊条件:
-- % 表示0个或者多个任意字符
-- _ 表示任意一个字符

模糊查询

SELECT 列名 FROM 表名
WHERE 列名 LIKE 模糊条件
ORDER BY 列名1 ASC/DESC,列名2 ASC/DESC;

-- 模糊条件:
-- % 表示0个或者多个任意字符
-- _ 表示任意一个字符

image.png

学习更多mysql知识请关注CRMEB开源商城