数据库(二)DDL
前言
本文为在霍格沃兹测试开发学社的学习经历分享,希望有志同道合的小伙伴可以一起交流技术,一起进步~
DDL定义语言
数据库操作
- 创建数据库
CREATE {DATABASE|SCHEMA} [IF NOT EXISTS] 数据库名
CHARACTER SET [=] 字符集
-
DATABASE|SCHEMA :指定驱动,只能选择一个
-
IF NOT EXISTS:可选项,创建前先判断,未存在时才执行创建语句
-
CHARACTER SET = 字符集:可选项,用于执行数据库的字符集
数据库命名规则:
-
不能与其他数据库重名
-
名称可以由任意字母、阿拉伯数字、下划线和$组成,但不能使用单独的数字
-
名称最长可用64个字符,别名最长为256个字符
-
不能使用MySql关键字作为数据库名
-
建议采用小写来定义数据库名
-- 创建数据库
create DATABASE joker_demo;
-- 指定字符集
create database joker_demo1 character set utf8;
查看数据库
show DATABASES;
选择数据库为当前数据库
USE 数据库名;
查看数据库的定义信息
SHOW CREATE DATABASE 数据库名;
查看当前所有的数据库
show databases;
选择数据库为当前数据库
USE hogwarts_stu;
查看自定义信息
SHOW CREATE DATABASE hogwarts_stu;
修改数据库
ALTER {DATABASE} [数据库名]
CHARACTER SET [=] 字符集
删除数据库
DROP DATABASE [IF EXISTS] 数据库名;
-
IF EXISTS 用于指定在删除数据前,先判断该数据库是否已经存在,避免删除不存在数据库的错误
-
系统表的数据不要删除,否则会导致数据库无法正常使用
数据库表操作
数字类型

字符串类型

- mysql处理固定长度的字符串要比长度变化的字符串速度快
日期和时间类型

- 如果数据不合法,就会用0代替
常用数据类型
-
INT:整型
-
DOUBLE:浮点型
-
VARCHAR:字符串型
-
DATE:日期类型
创建表
语法:
CREATE TABLE 数据表名(
列名1 属性,
列名2 属性....
)
列名 数据类型 [NOT NULL | NULL] [DEFAULT 默认值] [ AUTO_INCREMENT] [ PRIMARY KEY] [注释]
-
NOT NULL | NULL:指定是否允许是空值
-
DEFAULT:表示默认值
-
AUTO_INCREMENT:表示是否是自动编号
-
PRIMARY KEY:是否为主键
注意,列名需要是唯一的,创建表前需要先用USE 指定当前数据库
-- 创建表
CREATE TABLE joker_stu(
id int,
name varchar(20)
);
复制表
语法

注意:创建的是与原数据表结构相同的表,但是数据不会被复制,创建出来的是空表
查看表
-
show tables; 查看数据库中所有的表名
-
DESCRIBE 数据表名; 查看表的结构
-
DESCRIBE 数据表名 列名;
-
DESC 数据表名; 查看表结构的简写
-
DESC 数据表名 列名;
修改表
- 添加新列
ALTER TABLE 表名 ADD 列名 列属性;
示例:
-- 选择数据库为当前数据库
USE hogwarts_stu;
-- 给表添加新的列
alter table joker_stu add email varchar(30) not null;
-- 查看表结构
desc joker_stu
- 修改列定义
ALTER TABLE 表名 MODIFY 列名 列属性;
-- 示例
alter table joker_stu modify score int;
- 修改列名
ALTER TABLE 表名 CHANGE 旧列名 新列名 类型;
示例:
-- 修改joker_stu表的name列为stu_name,并指定列的默认值为 student name
alter table joker_stu change column name stu_name varchar(30) default 'student name';
- 删除列
ALTER TABLE 表名 DROP 列名;
示例:
-- 删除student表中的score列
alter table joker_stu drop score;
- 修改表名
ALTER TABLE 旧表名 RENAME AS 新表名;
示例:
-- 修改joker_stu 表名改名为stu表
alter table joker_stu rename as stu;
-- 修改stu表改名为stu_table
rename table stu to stu_table;
show tables;
删除表

示例:
-- 选择数据库为当前数据库
USE hogwarts_stu;
-- 创建表
CREATE TABLE joker_stu(
id int,
name varchar(20)
);
-- 删除表
drop table if exists joker_stu;
推荐阅读文章链接:接口测试经典面试题:Session、cookie、token有什么区别?_霍格沃兹测试开发学社的博客-CSDN博客

浙公网安备 33010602011771号