之前已经学习了安装mysql服务端还有进行了一些关于数据库安全的设置,现在开始学习创建数据库和数据表以及进行修改。
MySQL的DDL(Data Definition Language)语句用于定义或更改数据库结构,包括创建、修改或删除表、视图、索引等数据库对象。sql语句以关键字和数据库或者数据表格式执行,常见的关键字:SHOW、USE、DROP、DELETE、SELECT等等,以;(分号)结尾,否则可能会报错。
数据库管理系统-->数据库-->数据表-->数据字段-->数据记录。
一、创建数据库
# 登陆数据库
mysql -uroot -p
# 查看所有数据库
SHOW DATABASES;
mysql # 系统数据库(慎动)
sys # 系统数据库
# use关键字+数据库名 ,切换数据库
USE mysql;
# 创建数据库 database + 数据库名称 ,编码utf8
CREATE DATABASE database_name
CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;
# 只有在数据库不存在时才进行创建
CREATE database if not exists 数据库名称;
# 删除数据库,一定要小心再小心。
DROP database 数据库名;
# 修改数据库编码类型为utf8
ALTER database 数据库名 character set utf8;
二、常见的数据类型
创建数据表,在数据表中定义字段的类型与长度。
数据类型 | 定义 | 示例 |
---|---|---|
int | 整型 | int(10) |
double | 浮点型 | double(5,2)表示最多5位,2位小数,最大999.99 |
decimal | 浮点型 | 用在关于金额的方面,不会出现精度缺失 |
char | 固定长度字符串 | char(255),最大char(255),char(100),不足会补足100 |
varchar | 可变长字符串 | varchar(65535),用一个字节来记录 |
text | 字符串 | 超大类型,mysql独有 |
date | 日期类型 | 格式为:yyyy-MM-dd |
time | 时间类型 | 格式为:hhmmss |
timestamp | 时间戳类型 | 格式为:日期+时间 |
三、数据表操作
3.1 创建数据表表
CREATE TABLE (IF NOT EXISTS) 表名(
列名 列类型,
列名 列类型,
);
3.2 查看数据表
SHOW TABLES; # 查看当前数据库中的所有表
SHOW CREATE TABLE 表名; # 查看指定表的创建语句
DESC 表名; # 查看表结构:
SHOW FULL COLUMNS FROM employee; # 查看所有字段的信息包括注释及权限
3.3 删除数据表
DROP TABLE 表名; # 删除表
四、修改数据库
修改数据表包括,修改表名、修改字段、修改行列等等。
-
修改表之添加列:
ALTER TABLE 表名
ADD(
列名 列类型,
列名 列类型
);示例
ALTER TABLE table_name ADD column_name datatype;
table_name是要添加列的表名,column_name是新列的名称,datatype是新列的数据类型。
使用ADD语句还可以添加默认值、约束等,例如:
ALTER TABLE table_name
ADD column_name datatype DEFAULT default_value,
ADD CONSTRAINT constraint_name PRIMARY KEY (column_name);在添加列时,还可以指定列的位置。可以使用AFTER关键字指定新列应该出现在哪一列之后,或者使用FIRST关键字将新列放在第一列位置。
ALTER TABLE table_name
ADD column_name datatype AFTER existing_column;指定位置
ALTER TABLE table_name
ADD column_name datatype FIRST;增加主键设置
ALTER TABLE employee ADD PRIMARY KEY(id);
删除主键
1.使用ALTER TABLE语句
ALTER TABLE 表名 DROP PRIMARY KEY;
2.使用DROP INDEX语句
DROP INDEX 主键名 ON 表名;设置自动增长
ALTER TABLE employee MODIFY id int auto_increment;
-
修改表之修改列类型
MODIFY是MySQL的一个ALTER TABLE语句的关键字,用于修改表中已有列的数据类型、约束等。MODIFY语句可以修改列的数据类型、默认值、约束等。
ALTER TABLE 表名
MODIFY 列名 列新的类型;示例
ALTER TABLE table_name MODIFY column_name new_datatype;
还可以修改列的默认值
ALTER TABLE table_name MODIFY column_name DEFAULT default_value;
定义约束条件
ALTER TABLE table_name MODIFY column_name datatype NOT NULL;
-
修改表之修改列名
CHANGE是MySQL的一个ALTER TABLE语句的关键字,用于修改表中已有列的名称、数据类型、位置、约束等。CHANGE语句可以修改列的名称、数据类型、位置、约束等。
ALTER TABLE 表名
CHANGE 原列名 新列名 列类型;示例
ALTER TABLE table_name CHANGE old_column_name new_column_name new_datatype;
使用AFTER或者FIRST修改位置
ALTER TABLE table_name CHANGE column_name new_column_name datatype FIRST[AFTER] column_name ;
-
修改表之删除列
DROP是MySQL的一个关键字,用于删除数据库、表、列等对象。
ALTER TABLE 表名
DROP 列名;示例
删除数据库
DROP DATABASE database_name;
删除表
DROP TABLE table_name;
删除表中的某一列
ALTER TABLE table_name DROP COLUMN column_name;
-
修改表之修改表名称
RENAME是MySQL的一个关键字,用于重命名数据库、表、列等对象。
ALTER TABLE 表名
RENAME TO 新表名;示例
ALTER DATABASE old_database_name RENAME TO new_database_name;
重命名列
ALTER TABLE table_name CHANGE old_column_name new_column_name datatype;
总结
DDL操作
- 创建数据库
- 删除数据库
- 创建数据表
- 删除数据表
- 修改数据表
- 添加字段
常见数据类型有(int char varchar date time timestramp...)。
本文由mdnice多平台发布