写在前面 本文中 [ 内容 ] 代表啊可选项,即可写可不写。 sql语言的基本功能介绍 SQL是一种结构化查询语言,主要有如下几个功能: 数据定义语言(DDL):全称Data Definition Language 数据操纵语言(
写在前面
[ 内容 ]
代表啊可选项,即可写可不写。SQL是一种结构化查询语言,主要有如下几个功能:
其中最重要的是数据操纵语言(DML)
,里面包含了我们常用的功能(增、删、改、查)。对于数据定义语言(DDL)
和数据控制语言(DCL)
,我们只需要了解,知道怎么用就行了。
DDL
主要是对数据库对象(数据库、表、视图、索引)的操作。常用命令如下:
创建 | 修改 | 销毁 |
---|---|---|
create | alter | drop |
-- 显示说有的库
show databases;
-- 创建库
-- creat database [if not exists] 数据库名 [charset=utf8];
-- 重复创建会报错, 可以加上if not exists
creat database if not exists student;
-- 销毁库
-- drop database [if exists] 数据库名;
-- 如果不知道数据库是否存在,记得加if exists
drop database if exists student;
-- 使用库
-- use 数据库名;
-- 创建数据库后,当进行对表的操作之前,必须要先使用数据库。
use student;
-- 查看当前所在的库
select database();
-- 修改数据库名
rename database 旧名 to 新名;
-- 查看当前库中都有哪些表
show tables;
-- 格式
-- 注意:表名 和 字段名 尽量使用 ` `(反引号)括起来
crate table [if not exists] `表名`(
`字段名` 字段类型 [属性] [索引] [注释],
`字段名` 字段类型 [属性] [索引] [注释],
......
`字段名` 字段类型 [属性] [索引] [注释]
)[表的搜索引擎] [字符编码] [注释];
简单示例:
creat table if not exists `table`(
`sid` int,
`sname` varchar(20),
`age` int
)charset=utf8;
注意:由于默认使用的engine就是InnoDB,这个建表时候可以不写。但是charset=utf8这个最好是加上,尤其是在CMD黑窗口中输入中文的时候,
不写这一句,会出现类似如下错误
ERROR 1366 (HY000): Incorrect string value: "xD5xC5" for column "sname" at row 1
-- 查看表结构
-- desc 表名;
desc student;
-- 查看建表语句
-- show creat table 表名;
show creat table stu;
-- rename table 旧名 to 新名;
rename table student to stu;
修改表结构中包含给表添加某个新字段,修改表中某个字段,删除表中某个字段
给表添加某个新字段,使用add
关键字
-- alter table 表名 add 字段名 字段类型;
alter table `stu` add `cid` int;
first
关键字-- alter table 表名 add 字段名 字段类型 first;
alter table `stu` add `cname` varchar(20) first;
修改表中某个字段,使用change
或modify
关键字
change
关键字-- alter table 表名 change 旧字段名 新字段名 字段类型;
-- 修改字段age的名称,为sage
alter table `stu` change `age` `sage` int;
change
,还可以使用modify
-- 修改sname字段的数据类型由varchar(20)为varchar(50)
-- 有以下两种方式
-- alter table 表名 change 字段名 字段名 字段类型;
alter table `stu` change `sname` `sname` varchar(50);
-- alter table 表名 modify 字段名 字段类型;
alter table `stu` modify `sname` varchar(50);
first
、after
关键字-- 将sname字段,放置到sage后面。可以使用如下两种方式:
alter table `stu` change `sname` `sname` varchar(50) after `sage`;
alter table `stu` modify `sname` varchar(50) after `sage`;
-- 将sid字段,放置到首位
alter table `stu` change `sid` `sid` int first;
alter table `stu` modify `sid` int first;
modify不能直接修改字段名称,其余能用change的地方,就可以用modify。
删除表中某个字段,使用drop
关键字
-- alter table 表名 drop 字段名;
-- 删除cid这个字段
alter table `stu` drop `cid`;
truncate只删除数据但是不删除表结构
-- truncate table 表名;
truncate table `stu`;
-- drop table 表名;
drop table `stu`;
注意:一般表结构有了,数据也有了,不要轻易修改表结构,增加、删除、修改列
--结束END--
本文标题: MySQL之数据定义语言(DDL)
本文链接: https://lsjlt.com/news/8447.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0