目录
数据定义语言(DDL:Data Define Language): 其语句包括动词CREATE和DROP。在数据库中创建新表或删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。DDL包括许多与人数据库目录中获得数据有关的保留字。它也是动作查询的一部分。
1、数据库DDL操作
1.1 创建数据库
数据库命名规则:
---区分大小写
---唯一性
---不能使用关键字如 create SELECT
---不能单独使用数字
---不要使用中文
Linux命令行创建数据库
mysql -uroot -pLinyunxi@123 -e "create database db1 default charset 'utf8'"
在mysql中创建数据库
create database db2 default charset 'utf8';
1.2 查看数据库
查看所有数据库
show databases;
查看创建库的信息
show create database db1;
查看当前库
select database();
切换数据库
use db1;
查看数据库中的表
show tables;
删除数据库
drop database db2;
2、表的DDL操作
表是数据库存储数据的基本单位,由若干个字段组成,主要用来存储数据记录
表的DDL操作都是数据库管理中最基本,也是最重要的操作,包括:
①创建表 create table
②查看表结构 desc table_name, show create table
③表完整性约束
④修改表 alter table
⑤复制表 create table
⑥删除表 drop table
2.1 创建表
表:school.student
创建数据库
create database school;
切换数据库
use school;
创建表
create table student(
id int,
name varchar(50),
sex enum('male','female'),
age int
);
2.2 查看表
查看当前所在库的表
show tables;
查看表结构
desc student;
查看创建表的信息
show create table student\G;
显示数据的详细信息
show table status like 'student' \G
查看表中指定字段的值
select name,sex,age from student;
查看表中所有字段的值
select * from student;
2.3 表完整性约束
作用:用于保证数据的完整性和一致性
说明:
1. 是否允许为空,默认NULL;可设置NOT NULL,字段不允许为空,必须赋值
2. 字段是否有默认值,缺省的默认值是NULL,如果插入记录时不给字段赋值,此字段使用默认值
sex enum('male','female') not null default 'male'
#二选一,不允许为空,默认为'male'
age int unsigned NOT NULL default 20
#必须为正值(无符号),不允许为空,默认是20
2.4 修改表
修改表名称
rename table student to abc;
alter table abc rename student;
添加新字段
alter table student add math int(10);
alter table student add (chinese int(10),english int(10));
修改字段修饰符(约束)
alter table student modify chinese int(5) not null;
修改字段名称、数据类型、修饰符(约束)
alter table student change chinese china int(6);
alter table student change english en int(6) after id;
alter table student modify en int(6) after name;
alter table student modify en int(6) first;