目录
数据库操作
创建数据库
查看数据库
选择数据库
删除数据库
注释
数据表操作
创建数据表
查看数据表
查看数据表
查看数据表的相关信息
修改数据表
修改数据表名称
修改表选项
查看表结构
查看数据表的字段信息
查看数据表的创建信息
查看数据表结构
修改表结构
修改字段名
修改字段类型
修改字段位置
增加字段
删除字段
删除数据表
数据操作
添加数据
为所有字段添加数据
为部分字段添加数据
一次添加多行数据
查询数据
查询表中全部数据
查询表中部分字段
简单条件查询数据
修改数据
删除数据
数据库操作
数据库名称可以由字母、数字和下划线组成。【】表示可写可不写
在MySQL中,若没有指定字符集则数据表及表中的字符将使用默认字符集latin1
创建数据库
语法:CREAT DATABASE 数据库名称【库选项】;
库选项表示设置数据库的相关特性,如字符集CHARSET,校对集COLLATE等等
在创建数据库时,如果数据库名已存在则程序会报错,因此我们可以在数据库名前添加IF NOT EXISTS来表示如果创建数据库名已存在则忽略此操作
语法:CREATE DATABASE IF NOT EXISTS 数据库名称【库选项】;
数据库的创建就是在存储数据的文件夹data中创建一个与数据库同名的目录,因此我们也可以通过在data下创建目录的方式来完成数据库的创建
查看数据库
查看MYSQL服务器下所有数据库:
SHOW DATABASES;
查看指定数据库的创建信息:
SHOW CREATE DATABASE 数据库名称;
选择数据库
在对数据和数据表进行操作前,首先需要选择数据库
语法:USE 数据库名称;
补充:我们可以在登录mysql服务器时选择数据库
MySQL -u用户名 -p密码 数据库名
删除数据库
删除数据库就是清除数据库中的所有数据,回收为数据库分配的内存空间
语法:DROP DATABASE 数据库名称;
在删除数据库时,若待删除的数据库不存在则程序会报错,因此我们可以在删除数据库时加入IF EXISTS
语法:DROP DATABASE IF EXISTS 数据库名称;
注释
在服务器实际运行时被忽略的注释
单行注释:以#或--进行单行注释,但在使用--时须在最后一个-后添加至少一个控制字符(如空格、制表符、换行符等)防止注释--与减法运算的混淆
多行注释:使/* 注释内容 */进行多行注释
数据表操作
在MySQL数据库中,所有数据都存储在数据表中
创建数据表
在创建数据表时,应先选择数据库即USE 数据库名
其语法如下:
CREATE 【TEMPORARY】TABLE 【IF NOT EXISTS】表名
(字段名 字段类型【字段属性】......)【表选项】
TEMPORARY表示临时表,在当前会话中可见,当会话关闭时自动删除
字段名表示数据表的列名
字段类型表示设置字段中保存的数据类型
字段属性表示字段的默写特殊约束条件
表选项用于设置表的相关特性,如存储引擎(ENGINE)、字符集(CHARSET)
在创建表时可以使用COMMENT来添加注释内容,并将其保存到表结构中
在操作数据表时可以不先选择数据库,可以直接将表名的位置改为数据库.表名的形式,其语法如下:
CREATE TABLE 数据库.表名;
查看数据表
查看数据表
语法:SHOW TABLES 【LIKE 匹配模式】;
不添加【LIKE 匹配模式】则表示查看当前数据库中的所有数据表
【LIKE 匹配模式】中匹配模式符有两种分别为“%”和“_”,前者表示一个或多个字符代表任意长度的字符串,也可以为0;后者仅表示一个字符
LIKE后的匹配模式必须使用单引号或者双引号包裹
查看数据表的相关信息
查看数据表的相关信息,如数据表的名称、存储引擎、创建时间等
语法:SHOW TABLE STATUS【FROM 数据库】【LIKE 匹配模式】;
修改数据表
修改数据表名称
在MySQL中提供了两种修改数据表名称的方式
语法一:ALTER TABLE 旧表名 RENAME 【TO/AS】新表名;
语法二:ALTER TABLE 旧表名1 TO 新表名1【,旧表名2 TO 新表名2】...;
修改表选项
语法:ALTER TABLE 表名 表选项 【=】 值;
查看表结构
查看数据表的字段信息
MYSQL提供的DESCRIBE语句可以查看数据表中的所有字段或指定字段的信息,包括字段名、字段类型等
语法格式一:查看所有字段的信息
{DESCRIBE/DESC} 数据表名;
语法格式二:查看指定字段的信息
{DESCRIBE/DESC} 数据表名 字段名;
查看数据表的创建信息
语法:SHOW CREATE TABLE 表名;
查看数据表结构
语法格式一:SHOW 【FULL】 COLUMNS FROM 数据表名 【FROM 数据库名】;
语法格式二:SHOW 【FULL】 COLUMNS FROM 数据库名.数据表名;
可添加选项FULL表示显示详细信息,不添加FULL情况下与DESC语句查看的信息相同
使用FULL后除了DESC语句查看到的信息以外还可看到字段的权限,COMMENT注释的内容等
修改表结构
修改字段名
仅修改数据表的字段名可使用CHANGE实现
其语法如下:
ALTER TABLE 表名 CHANGE 【COLUMN】旧字段名 新字段名 字段类型【字段属性】;
修改字段类型
MYSQL中修改字段类型通常使用MODIFY来实现
其语法如下:
ALTER TABLE 数据表名 MODIFY 【COLUMN】字段名 新类型 【字段属性】;
修改字段位置
字段的存储位置为字段编写的先后顺序,在调整字段位置时也可使用MODIFY来实现
其语法如下:
ALTER TABLE 数据表名
MODIFY 【COLUMN】字段名1 数据类型【字段属性】【FIRST/AFTER 字段名2】;
增加字段
可使用ADD来增加新的字段
语法格式一:新增一个字段,可指定位置
ALTER TABLE 数据表名
ADD 【COLUMN】新字段名 字段类型【FIRST/AFTER 字段名2】;
语法格式二:同时新增多个字段
ALTER TABLE 数据表名
ADD 【COLUMN】(新字段名1 字段类型1,新字段名2 字段类型2,...);
删除字段
通过DROP完成
语法:ALTER TABLE 数据表名 DROP 【COLUMN】字段名;
删除数据表
删除数据库中已存在的表,删除数据表的同时,其中的数据都将被删除
DROP 【TEMPORARY】TABLE【IF EXISTS】数据表1【,数据表2】...;
数据操作
添加数据
在数据表有数据的情况下,我们可以使用INSERT语句向数据表中添加数据
为所有字段添加数据
在为所有字段插入记录时,可以省略字段名称但是需要严格按照数据表结构插入对应的值
INSERT【INTO】数据表名 {VALUES | VALUE}(值1【,值2】...);
为部分字段添加数据
除了为所有子弹添加数据外,我们也可以通过指定字段名的方式增加数据
INSERT 【INTO】 数据表名(字段名1【,字段2】...)
{VALUES | VALUE}(值1【,值2】...);
上述语法中只需保证字段名的编写顺序与值的编写顺序相同即可
除此之外,还有一种为指定字段添加数据的方式
INSERT 【INTO】数据表名
SET 字段名1 = 值1【,字段名2 = 值2】...;
一次添加多行数据
向一张数据表中添加多条记录时,重复上述代码会显得繁琐,因此MySQL提供了另一种插入方式来完成多数据的插入
INSERT 【INTO】 数据表名【(字段列表)】
{ VALUES | VALUE } (值列表)【,(值列表)】...;
查询数据
查询表中全部数据
查询数据表中所有字段的数据时,可以使用*通配符来代替数据表中的所有字段名
SELECT * FROM 数据表名;
查询表中部分字段
在SELECT语句中指定要查询的字段
SELECT { 字段名1,字段名2,...} FROM 数据表名;
简单条件查询数据
可使用WHERE语句来完成条件查询相关数据
SELECT * | {字段名1,字段名2...}
FROM 数据表名 WHERE 字段名 = 值;
修改数据
修改数据时数据库中的常见操作,通常需要对表中的部分记录进行修改,因此我们可以使用UPDATE语句来修改数据
UPDATE 数据表名
SET 字段名1 = 值1【,字段名2 = 值2,...】
【WHERE 条件表达式】;
删除数据
对表中存在的数据进行删除
DELETE FROM 数据表名【WHERE 条件表达式】;