MySQL 基础语句 DDL

DDL语言:逻辑库、数据表、视图、索引

DML语言: 添加、修改、删除、查询

DCL语言:用户、权限、事务

 

以下是DDL命令:

创建、修改、删除数据库

# 使用数据库
use test01;

#  创建表和字段
CREATE TABLE student(
	id INT UNSIGNED PRIMARY KEY,
	name VARCHAR(20) NOT NULL,
	sex CHAR(1) NOT NULL,
	birthday DATE NOT NULL,
	tel CHAR(11) NOT NULL,
	remark VARCHAR(200)
);

INSERT INTO student VALUES(1,"麦志坚","男","2000-01-01","18000000000",NULL);  # 插入数据

SHOW TABLES;  # 查看表

DESC student;  # 查询表的结构

SHOW CREATE TABLE student;  # 查询创建表单的语句

DROP TABLE student;  # 删除表单



修改表单

# 修改表单,增加字段
alter TABLE student
ADD address VARCHAR(200) NOT NULL,
add home_tel CHAR(11) not null;

# 修改表单,修改字段类型
alter table student
MODIFY home_tel VARCHAR(20) NOT NULL;

# 修改表单,修改字段名称
alter table student
CHANGE address home_addr VARCHAR(200) not null;

# 修改表单,删除字段
alter table student
DROP home_addr,
DROP home_tel;

 主键自动赋值,设置唯一约束,设置布尔默认值

# 创建表单
create table t_teacher(
	id int unsigned PRIMARY KEY Auto_increment,
	name VARCHAR(20) not null,
	tel char(11) not null UNIQUE,
);
alter TABLE t_teacher
ADD married BOOLEAN NOT NULL DEFAULT FALSE;

创建外键约束实例(注意理解原理即可,外键约束一旦闭环,任何一张表都无法删除,所以不推荐)
 

# 父表
create table t_department(
	department_ID INT UNSIGNED PRIMARY KEY,
	department_name VARCHAR(20) not null UNIQUE,
	department_tel VARCHAR(12) not null 
);

# 子表
create table t_employee(
	employee_ID int UNSIGNED PRIMARY KEY,
	employee_name VARCHAR(20) not null,
	sex ENUM("男","女") not null,
	deparment_ID int UNSIGNED,
	hire_date Date not null, 
	# 设置外键 关联父表
	FOREIGN key(deparment_ID) REFERENCES t_department(department_ID)
);

索引使用原则

  1. 数据量很大,而且经常被查询的数据表可以设置索引(千百条数据或日志无需使用)
  2. 索引只添加在经常被用作检索添加的字段上面(如名字、部门、手机)
  3. 不要在大字段上创建索引(如超过50个字符串)


创建、删除、查看索引

create table t_message(
	id int UNSIGNED PRIMARY key Auto_increment,
	content VARCHAR(200) not null,
	type enum("公告","通报","个人通知") not null,
	create_time TIMESTAMP NOT NULL,
	# 创建索引
	INDEX idx_type(type)
);

# 删除索引
drop index idx_type on t_message;

# 查看索引
show INDEX FROM t_message;

# 创建索引方法1
CREATE index idx_type on t_message(type);

# 创建索引方法2
ALTER TABLE t_message ADD INDEX idx_type(type);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值