数据库
创建数据库
-
一般创建:
CREATE DATABASE database_name;
-
创建数据库并指定字符集
CREATE DATABASE database_name CHARACTER SET 字符集;
-
判断数据库是否存在,不存在则创建数据库
CREATE DATABASE IF NOT EXISTS database_name;
查看当前所有的库
用于显示所有的存在的库
语法格式:
SHOW DATABASES;
删除数据库
-
一般方法
DROP DATABASE databse_name;
-
判断存在,进行删除
DROP DATABASE IF EXISTS databse_name;
使用或切换数据库
语法格式:
USE database_name;
查看当前正在使用的库
DATABASE()是MySQL中的全局函数
语法格式:
SELECT DATABASE();
查看数据库的定义
语法格式:
SHOW CREATE DATABASE database_name;
查看指定库的所有表
语法格式:
SHOW TABLES FROM database_name;
修改数据库
更换数据库的字符集:
ALTER DATABASE database_name CHARACTER SET 字符集;
数据表
创建表
语法格式:
CREATE TABLE [IF NOT EXISTS] table_name
(
字段1 数据类型 [约束条件] [默认值] ,
字段2 数据类型 [约束条件] [默认值] ,
字段3 数据类型 [约束条件] [默认值] ,
… …
[表约束条件]
) ;
在创建数据表之前,应使用"use database_name"命令指定操作是在哪个数据中进行
必须指定以下信息:
- 创建表的名称,不区分大小写;不能使用SQL语言中的关键字
- 数据表中每一列(字段)的名称和数据类型
- 多个列之间使用 ,(逗号)隔开,最后一个不用写逗号
修改表
-
修改表名:
ALTER TABLE 旧表名 RENAME [TO] 新表名;
-
删除表:
DROP TABLE [IF EXISTS] 数据表1 [ , 数据表2 , … , 数据表n];
- 在MySQL中,当一张数据表 没有与其他任何数据表形成关联关系 时,可以将当前数据表直接
删除 - 数据和结构都被删除
- 所有相关索引被删除
- 在MySQL中,当一张数据表 没有与其他任何数据表形成关联关系 时,可以将当前数据表直接
-
清空表:
TRUNCATE TABLE detail_dept ;
- 删除表中所有的数据
- 释放表的存储空间
- TRUNCATE语句不能回滚,而使用 DELETE 语句删除数据,可以回滚
-
修改表中的列:
-
向表中添加一列:
ALTER TABLE table_name ADD [COLUMN] 新字段 字段类型 [FIRST|AFTER 已存在字段] ;
FIRST:表示将新添加的字段设置为表中的第一个字段
AFTER:表示将新添加的字段添加到指定的"已存在字段"的后面
如果不设置以上两种命令:则默认将其添加到表的末尾,做为最后一字段
-
删除表中的一列:
ALTER TABLE table_name DROP [COLUMN] 字段名;
-
修改列名:
ALTER TABLE table_name CHANGE [COLUMN] 旧字段 新字段 新数据类型;
-
修改表后面的值:
修改字段的数据类型、长度、默认值、位置,约束
ALTER TABLE table_name MODIFY [COLUMN] 字段名 数据类型 [DEFAULT 默认值] [FIRST|AFTER 已存在字段];
字段名:指要修改的字段
数据类型:修改后字段的新数据类型
-
修改列的排列位置:
ALTER TABLE table_name MODIFY 字段名 数据类型 FIRST|AFTER 已存在字段;
-
修改列的字符集
ALTER TABLE table_name MODIFY 字段名 数据类型 CHARACTER SET 字符集;
-
-
查看表数据:
-
第一种:
DESC table_name;
-
第二种:
SHOW CREATE TABLE table_name;
-
-
修改表的字符集:
ALTER TABLE table_name CHARACTER SET utf8(字符类型);