MYSQL常用的基础命令
1.有关数据库的操作
创建数据库
# 创建数据库
CREATE DATABASE 数据库名称;
# 当数据库不存在时,创建数据库
CREATE DATABASE IF NOT EXISTS 数据库名称;
# 创建数据库并指定utf8编码
CREATE DATABASE 数据库名称 CHARSET='utf8';
查看数据库
# 显示已有的数据库
SHOW DATABASES;
使用数据库
# 显示已有的数据库
SHOW DATABASES;
# 使用指定数据库
USE 数据库名称;
删除数据库
# 删除指定数据库
# 注意:实际工作不要删除数据库!!!
# 注意:实际工作不要删除数据库!!!
# 注意:实际工作不要删除数据库!!!
DROP DATABASE 数据库名;
2.有关数据表的操作
创建数据表
CREATE TABLE 表名(
字段名1 数据类型(长度) 约束,
字段名2 数据类型(长度) 约束,
字段名3 数据类型(长度) 约束
...
);
# 创建表举例
CREATE TABLE category(
# 字段1名称为cid,数据类型为整型,添加主键约束及非空约束
cid INT PRIMARY KEY NOT NULL,
# 字段2名称为cname,数据类型为varchar,最大长度为100
cname VARCHAR(100)
);
查看数据表和表结构
# 查看当前数据库中已有的数据表
SHOW TABLES;
# 查看指定数据表的结构
DESC 表名;
修改表名
# 修改指定表的名称
RENAME TABLE 表名 TO 新表名;
删除数据表
# 修改指定表的名称
RENAME TABLE 表名 TO 新表名;
# 删除指定的数据表
DROP TABLE 表名;
3.数据表字段操作
添加表字段
# 注意:
# 1. 约束按需求选择添加,可以没有约束,类型必须填写,并只能填写一个类型
# 2. 表字段名称不能重复,否则会出现 Duplicate column 错误
# 3. 如果列名和关键字相同,需要在列名两边加 ``
ALTER TABLE 表名 ADD 列名 类型(长度) [约束];
# 示例1
ALTER TABLE category ADD num INT NOT NULL;
# 示例2
ALTER TABLE category ADD `desc` VARCHAR(100);
修改表字段
ALTER TABLE 表名 CHANGE 旧列名 新列名 类型(长度) 约束;
# 示例1
ALTER TABLE category CHANGE `desc` description VARCHAR(100);
删除表字段
ALTER TABLE 表名 DROP 列名;
# 示例1
ALTER TABLE category DROP num;
4.表记录增,删,改
增加表记录
# 不指定字段插入:一次性插入一行,并且指定所有列
INSERT INTO 表 VALUES(值1, 值2, 值3...);
# 指定字段插入:一次性插入一行,并且指定插入列
INSERT INTO 表 (字段1, 字段2, 字段3...) VALUES(值1, 值2, 值3...);
# 不指定字段插入:一次性添加多条记录
INSERT INTO 表 VALUES(值1, 值2, 值3...), (值1, 值2, 值3...), ...;
# 指定字段插入:一次性添加多条记录
INSERT INTO 表 (字段1, 字段2, 字段3...) VALUES(值1, 值2, 值3...), (值1, 值2, 值3...)...;
删除表记录
# 删除表中的所有数据:主键自增序列不清零
DELETE FROM 表名;
# 清空表数据:主键自增序列清零
TRUNCATE TABLE 表名;
# 删除表中满足条件的数据
DELETE FROM 表名 WHERE 条件;
更新表记录
# 更新所有行
UPDATE 表名 SET 字段名=值, 字段名=值, ...;
# 更新满足条件的行
UPDATE 表名 SET 字段名=值, 字段名=值, ... WHERE 条件;