数据库-DDL语言-数据定义语言

DDL语言-数据定义语言

对数据库对象进行操作的语言, 涉及到的关键字CREATE,ALTER,DROP

对数据库的操作

新建一个数据库
语法
sql 复制代码
CREATE DATABASE 数据库名 [charset=字符集]
sql 复制代码
新建一个数据库:mydb
CREATE DATABASE mydb;

注:SQL语句不区分大小写,但是好的书写习惯:关键字大写,非关键字小写

指定字符集
sql 复制代码
创建数据库mydb1,指定字符集为UTF-8
CREATE DATABASE mydb1 CHARSET=UTF8;

创建数据库mydb2,指定字符集为GBK
CREATE DATABASE mydb2 CHARSET=GBK;
查看已创建的数据库
语法
sql 复制代码
SHOW DATABASES;
查看创建数据库时的信息
语法
sql 复制代码
SHOW CREATE DATABASE 数据库名
sql 复制代码
SHOW CREATE DATABASE mydb
删除数据库
语法
sql 复制代码
DROP DATABASE 数据库名
SQL 复制代码
DROP DATABASE mydb
切换数据库
语法
sql 复制代码
USE 数据库名

sql 复制代码
USE mydb1;		//切换数据库到mydb1
USE mydb2;      //切换数据库到mydb2

表操作

创建表
语法
sql 复制代码
CREATE TABLE 表名(
	字段名名1 类型[(长度)] [DEFALUT 默认值] [约束],
    字段名名2 类型,
    ...
)[CHARSET=字符集]
SQL 复制代码
准备一个数据库mydb并使用
CREATE DATABASE mydb;			创建数据库mydb
USE mydb;						切换到mydb,那么后面创建表都是创建到这个库中

创建一张表user,保存用户信息(用户名,密码,昵称,年龄)
CREATE TABLE user(
	id INT,					类型是方言,不同数据库不同,mysql中整数为INT,oraclet为Number
    username VARCHAR(32),   字符串类型是VARCHAR,长度为字节量,如果是UTF-8编码32字节可以存
    password VARCHAR(32),   10个汉字。
    nickname VARCHAR(32),
    age INT(3)              对于整数而言,长度表示保存的数字位数。
)
查看表结构
语法
sql 复制代码
DESC 表名
sql 复制代码
查看user表的结构
DESC user
查看表创建时的信息
语法
sql 复制代码
SHOW CREATE TABLE 表名
sql 复制代码
SHOW CREATE TABLE user
查看当前数据库中创建的所有表
语法
sql 复制代码
SHOW TABLES
修改表名
语法
sql 复制代码
RENAME TABLE 原表名 TO 新表名
sql 复制代码
将user表改名为userinfo
RENAME TABLE user TO userinfo
删除表
语法
sql 复制代码
DROP TABLE 表名
sql 复制代码
删除表userinfo
DROP TABLE userinfo
修改表结构

准备一张表

sql 复制代码
CREATE TABLE hero(
	name VARCHAR(32),
	age INT(3)
)
添加一个字段
在表末尾追加新字段

语法

sql 复制代码
ALTER TABLE 表名 ADD 字段名 类型[(长度) 默认值 约束]

sql 复制代码
向表hero的末尾添加一个新字段gender,它的类型是字符串,长度占10个字节
ALTER TABLE hero ADD gender VARCHAR(10)
在表最开始添加字段

语法

sql 复制代码
ALTER TABLE 表名 ADD 字段名 类型 FIRST

sql 复制代码
在hero表最开始添加id字段,类型为int
ALTER TABLE hero ADD id INT FIRST
在表中插入新的字段

语法

sql 复制代码
在表中现有的字段后面添加新字段
ALTER TABLE 表名 ADD 字段名 类型 AFTER 表中现有字段名

sql 复制代码
在name字段后面添加密码pwd字段
ALTER TABLE hero ADD pwd VARCHAR(32) AFTER name
删除字段
语法
sql 复制代码
ALTER TABLE 表名 DROP 字段名
sql 复制代码
将hero中的pwd字段删除
ALTER TABLE hero DROP pwd
修改表字段
语法
sql 复制代码
ALTER TABLE 表名 CHANGE 原字段名 新字段名 类型[长度 默认值 约束]
SQL 复制代码
修改hero表中的年龄字段长度为5
ALTER TABLE hero CHANGE age age INT(5)
sql 复制代码
修改hero表中的年龄字段为字符串,长度为20字节
ALTER TABLE hero CHANGE age age VARCHAR(20)
sql 复制代码
修改hero表中的gender字段,改名为nickname 类型为字符串,长度30字节
ALTER TABLE hero CHANGE gender nickname VARCHAR(30)
修改表结构的注意事项
  • 修改表结构最好是在表中没有数据的情况下进行
  • 当表中含有数据时
    • 尽量不修改表中某字段的类型,否则可能因为现有数据不满足新修改的类型导致修改失败
    • 尽量不缩短字段长度
    • 若为字段新添加约束,该字段现有的数据不能违反该约束
相关推荐
是程序喵呀30 分钟前
MySQL备份
android·mysql·adb
指尖上跳动的旋律37 分钟前
shell脚本定义特殊字符导致执行mysql文件错误的问题
数据库·mysql
一勺菠萝丶1 小时前
MongoDB 常用操作指南(Docker 环境下)
数据库·mongodb·docker
m0_748244832 小时前
StarRocks 排查单副本表
大数据·数据库·python
C++忠实粉丝2 小时前
Redis 介绍和安装
数据库·redis·缓存
wmd131643067122 小时前
将微信配置信息存到数据库并进行调用
数据库·微信
是阿建吖!2 小时前
【Linux】基础IO(磁盘文件)
linux·服务器·数据库
凡人的AI工具箱2 小时前
每天40分玩转Django:Django国际化
数据库·人工智能·后端·python·django·sqlite
ClouGence2 小时前
Redis 到 Redis 数据迁移同步
数据库·redis·缓存
m0_748236583 小时前
《Web 应用项目开发:从构思到上线的全过程》
服务器·前端·数据库