这篇内容主要总结了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个或者多个任意字符
-- _ 表示任意一个字符
学习更多mysql知识请关注CRMEB开源商城