基本的增删改查语句DDL基本语法(操作数据库和表结构)
1、DDL的基本概念
DDL(Data Definition Language,操作数据库和表结构):DDL是⽤来操作数据库和表的,也就是创建数据库和表、删除数据库和表、修改表结构这些操作。通常,DDL由数据库管理员执⾏。
2、DDL操作数据库(选择和增删改查)
2.1、创建数据库(Create)
可以通过 create 语句来创建⼀个数据库
CREATE DATABASE 数据库名; --创建数据库
create database 数据库名 character set utf-8; -- 在创建数据库时可以指定数据库的字符集
如果同名数据库已经存在,再创建⼀个会报错,提⽰该数据库已存在。我们可以通过判断该数据库是否已存在来避免报错:
create database if not exists basename; --如果已存在则不会创建,否则新建⼀个数据库
create database if not exists basename character set gbk; -- 判断同时指定字符集
2.2、查询所有的数据库(show)
可以使⽤ show database; 语句来查询 MySQL 中所有的数据库。
如下:MySQL在安装后默认建⽴了四个数据库。前三个数据库都是保存着MySQL的⼀些信息,最好不要乱改。如果需要,我们可以在 test 数据库上做⼀些修改测试。
(其中 information_schema 并没有真正对应的实体⽂件夹,该数据库是⼀个信息数据库,其保存着关于MySQL服务器所维护的所有其他数据库的信息,如数据库名,数据库的表,表栏的数据类型与访问权限等。也就是说当你建⽴⼀个新的数据库,或者在已有的数据库中增删改表的话,都会记录在information_schema库中)
我们也可以通过 show create database 数据库名; 语句来查看创建某个数据的语法。如下所⽰,我们还可以知道该数据库使⽤的字符集是 utf-8。
2.3、修改数据库(alter)
修改数据库的字符集:
alter database 数据库名称 character set 字符集名称;
# ⽰例:
alter database testdb character set utf8;
2.4、删除数据库(drop)
drop database 数据库名称;
drop database if exists 数据库名称; # 如果该数据库不存在,直接删除会报错,我们可以先判断是否存在
2.5、选择数据库(use)
在连接到 MySQL 数据库后,可能有多个可以操作的数据库,所以我们需要选择要进⾏操作的数据库。
use 数据库名称;
执⾏以上命令后,就会选择某个数据库,后续的操作都会在该数据库中执⾏,⽐如对数据表的操作等
等。
查询⽬前正在使⽤的数据库:
select database(); # 当没有选择数据库时,会提⽰ null
3、DDL操作数据表(增删改查)
3.1、创建数据表(create)
创建MySQL数据表需要以下信息:表名、表字段名、定义每个表字段。
以下为创建MySQL数据表的SQL通⽤语法:
CREATE TABLE table_name (column_name column_type);
# ⽰例创建数据表runoob_tbl:
CREATE TABLE IF NOT EXISTS `runoob_tbl`(
`runoob_id` INT UNSIGNED AUTO_INCREMENT, # AUTO_INCREMENT定义列为⾃增的属性,⼀般⽤于主键,数值会⾃动加1
`runoob_title` VARCHAR(100) NOT NULL, # 如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL,在操作数据库时如果输⼊该字段的数据为NULL,就会报错。 `submission_date` DATE,
PRIMARY KEY ( `runoob_id` ) # PRIMARY KEY关键字⽤于定义列为主键,可以使⽤多列来定义主键,列间以逗号分隔。建表语句的最后⼀列不要加逗号,否则报错)ENGINE=InnoDB DEFAULT CHARSET=utf8; # ENGINE 设置存储引擎,CHARSET 设置编码
对于⼀个关系表,除了定义每⼀列的名称外,还需要定义每⼀列的数据类型。关系数据库⽀持的标准数据类型包括数值、字符串、时间等:
上⾯的表中列举了最常⽤的数据类型。很多数据类型还有别名,例如,浮点型REAL⼜可以写成FLOAT(24)。还有⼀些不常⽤的数据类型,例如,TINYINT(范围在0~255)。各数据库⼚商还会⽀持特定的数据类型,例如JSON。
选择数据类型的时候,要根据业务规则选择合适的类型。通常来说,长整型BIGINT能满⾜整数存储的需求,变长字符串VARCHAR(N)能满⾜字符串存储的需求,这两种类型是使⽤最⼴泛的。
3.2、删除数据表(drop)
在进⾏删除表操作时要⾮常⼩⼼,因为执⾏删除命令后所有数据都会消失。
以下为删除MySQL数据表的通⽤语法:
DROP TABLE table_name;
DROP TABLE if exists table_name; # 判断是否存在,存在再删除
3.3、修改表
3.3.1、对表的整体进⾏修改
修改表名:
alter table 表名 rename to 新表名;
修改表的字符集:
alter table 表名 character set 字符集名称;
# ⽰例:
alter table testtable character set utf8; # utf-8字符集写成utf8,否则报错
3.3.2、修改表结构
添加⼀列:
alter table 表名 add 列名数据类型;
# ⽰例:
alter table testtable add name varchar(10); # varchar(10)表⽰最多有10个字符
修改列名、数据类型:
alter table 表名 modify 列名新数据类型; # 修改列的数据类型
alter table 表名 change 列名新列名新数据类型; # 同时修改列名和数据类型
删除列:
alter table 表名 drop 列名;
3.4、查询
3.4.1、查询数据库中的所有表
查询某个数据库中的所有表:
show tables;
3.4.2、查询表结构
查询表结构:
desc 表名;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论