1. 查看数据库信息
查看所有数据库:
SHOW DATABASES;
切换到某个数据库:
USE 数据库名;
查看数据库中的所有表:
SHOW TABLES;
SHOW TABLES IN mysql;
显示数据表的结构(字段):
DESCRIBE user;
Field: 字段名称Type: 数据类型Null: 是否允许为空Key: 主键Default: 默认值Extra: 扩展属性(如自增字段)
2. 常用的数据类型
- int: 整型,定义整数类型的数据
- float: 单精度浮点数,4字节32位,准确表示到小数点后六位
- double: 双精度浮点数,8字节64位
- char: 固定长度的字符类型
- varchar: 可变长度的字符类型
- text: 文本类型
- image: 图片类型
- decimal(5,2): 定点数,5个有效数字,小数点后2位
主键:唯一的标识字段,可由多个字段构成,不允许为空。
3. MySQL 数据文件存放
-
数据文件存放在
/usr/local/mysql/data目录下,每个数据库对应一个子目录存储数据表文件。 -
MyISAM 存储引擎的表文件包括:
.frm:存储表结构.MYD:存储表数据.MYI:存储表的索引
-
InnoDB 存储引擎的数据文件:
.ibd:每个表一个文件,存储表数据及索引ibdata文件:共享表空间存储方式下的存储文件
4. SQL 语句分类
-
DDL(数据定义语言):用于创建和管理数据库对象
CREATEDROPALTER
-
DML(数据操纵语言):用于操作表中的数据
INSERTUPDATEDELETE
-
DQL(数据查询语言):用于查询数据
SELECT
-
DCL(数据控制语言):用于设置或更改用户权限
COMMITROLLBACKGRANTREVOKE
5. DDL:数据定义语言
创建数据库:
CREATE DATABASE 数据库名;
创建数据表:
CREATE TABLE 表名 (字段1 数据类型,字段2 数据类型,PRIMARY KEY (主键名)
);
删除数据表:
DROP TABLE 表名;
删除数据库:
DROP DATABASE 数据库名;
6. DML:数据操纵语言
插入数据:
INSERT INTO 表名 (字段1, 字段2) VALUES (值1, 值2);
更新数据:
UPDATE 表名 SET 字段1=值1 WHERE 条件;
删除数据:
DELETE FROM 表名 WHERE 条件;
7. DQL:数据查询语言
查询数据:
SELECT 字段名1, 字段名2 FROM 表名 WHERE 条件;
8. 数据表高级操作
清空表:
方法一:
DELETE FROM 表名;
方法二:
TRUNCATE TABLE 表名;
删除表:
DROP删除表的内容和结构,速度最快。TRUNCATE删除表内容但保留结构,速度快。DELETE逐行删除数据,可带WHERE子句。
创建临时表:
CREATE TEMPORARY TABLE 表名 (字段1 数据类型,字段2 数据类型,PRIMARY KEY (主键名)
);
克隆表:
复制表结构:
CREATE TABLE 新表名 LIKE 原表名;
复制表数据:
INSERT INTO 新表名 SELECT * FROM 原表名;
复制表数据及结构:
CREATE TABLE 新表名 AS SELECT * FROM 原表名;
9.小结
- 删除表:
DROP > TRUNCATE > DELETE - 安全性:
DELETE>TRUNCATE>DROP - 根据需求选择合适的删除方式:
DROP用于删除整个表,TRUNCATE用于清空表数据,DELETE用于删除特定行。
