MySQL数据库、数据表的基本操作及查询数据

MySQL数据库的基本操作

创建数据库 CREATE DATABASE database_name
database_name为要创建的数据库的名称

删除数据库 DROP DATABASE database_name
database_name为要删除的数据库的名称

数据库存储引擎
数据库存储引擎是数据库底层软件组成,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据操作。
MySQL的核心就是存储引擎。

存储引擎比较
|功能|MyISAM|Memory|InnoDB|Archive|
|---|---|---|---|---|
|存储限制|256TB|RAM|64TB|None|
|支持事务|No|No|Yes|No|
|支持全文索引|Yes|No|No|No|
|支持数索引|Yes|Yes|Yes|No|
|支持哈希索引|No|Yes|No|No|
|支持数据缓存|No|N/A|Yes|No|
|支持外键|No|No|Yes|No|

数据表的基本操作 创建数据表

创建表的语法形式
SQL CREATE TABLE<表名> ( 字段名1 数据类型 [列级别约束条件] [默认值], 字段名2 数据类型 [列级别约束条件] [默认值], …… [表级别约束条件] );

使用主键约束

主键约束要求主键列的数据唯一,并且不允许为空。他能唯一地标识表中的一条记录,可以结合外键来定义不同数据表之间的关系,并且可以加快数据库查询的速度。

单字段主键

在定义列的同时指定主键。 字段名 数据类型 PRIMARY KEY [默认值]

在定义完所有列之后指定主键。 [CONSTRAINT <约束名>] PRIMARY KEY [字段名]

多字段联合主键
主键由多个字段联合组合而成。 PRIMARY KEY [字段1、字段2...]
其位置放置在定义完所有的主键之后

使用外键约束
外键用来在两个表的数据之间建立链接,它可以是一列或者多列。一个表可以有一个或多个外键。
[CONSTRAINT<外键名>] FOREIGN KEY 字段1[,字段2...] REFERENCES<主表名> 主键列1[,主键列2...]

使用非空约束
非空约束指字段的值不能为空。对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据库系统会报错。 字段名 数据类型 NOT NULL

使用唯一性约束
唯一性约束要求该列唯一,允许为空,但只能出现一个空值。
唯一约束可以确保一列或者几列不出现重复值。

在定义完列之后直接指定唯一约束。字段名 数据类型 UNIQUE

在定义完所有列之后指定唯一约束。[CONSTRAINT<约束名>] UNIQUE(<字段名>)

使用默认约束
默认约束指定某列的默认值。 字段名 数据类型 DEFAULT 默认值

设置表的属性值自动增加
在数据库应用中,可以通过为表的主键添加 AUTO_INCREMENT关键字来实现:当每新增加一条记录,使该主键自动加一。一个表只能有一个字段使用 AUTO_INCREMENT约束,且该字段必须为主键的一部分。其约束的字段可以是任何整数类型。
字段名 数据类型 AUTO_INCREMENT

查看数据表结构

查看表基本结构语句
DESCRIBE 表名; 或者简写为 DESC 表名;

查看表详细结构语句
SHOW CREATE TABLE <表名/G>;
如果不加 /G参数,显示的结果可能非常混乱,加上参数 /G后,可使显示结果更加直观,易于查看。

修改数据表

修改表名
ALTER TABLE <旧表名> RENAME [TO] <新表名>;

修改字段的数据类型
ALTER TABLE <表名> MODIFY <字段名> <数据类型>;

修改字段名
ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;

添加字段
ALTER TABLE <表名> ADD <新字段名> <新数据类型> [约束条件] [FIRST|AFTER 已存在字段名];

删除字段
ALTER TABLE <表名> DROP <字段名>;

修改字段的排列位置
ALTER TABLE <表名> MODIFY <字段1> <数据类型> FIRST|AFTER <字段2>;

更改表的存储引擎
ALTER TABLE <表名> ENGINE=<更改后的存储引擎名>;

删除表的外键约束
ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>;

删除数据表

DROP TABLE [IF EXISTS] 表1,表2...表n;

查询数据 基本查询语句 SELECT {*|<字段列表>} [ FROM <表1>,<表2>... [WHERE <表达式>] [GROUP BY <group by definition>] [HAVING <expression>[{<operator><expression>}...]] [ORDER BY <order by definition>] [LIMIT [offset,] <row count>] ] SELECT [字段1,字段2,...,字段n] FROM [表或视图] WHERE [查询条件]; 单表查询

查询所有字段
SELECT * FROM 表名;

查询指定字段
SELECT 字段名1[,字段名2,...,字段名n] FROM 表名;

查询指定记录
在 SELECT语句中,通过 WHERE子句可以对数据进行过滤。
SELECT 字段名1[,字段名2,...,字段名n] FROM 表名 WHERE 查询条件;

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/c65cf01044183b2464d14f0393a24fcf.html