MySQL SQL概述与DDL使用

SQL 结构化查询语言

本文章是通过学习《千峰python零基础数据库可视化教程》课程的笔记

  • DDL(数据定义语言)

    创建删除修改各种对象 —>create / drop / alter

  • DML (数据操作语言)

    插入、删除、修改数据 —> insert / delete /update**

  • DQL(数据查询语言)【最重要】

检索(查询)数据 —> select

  • DCL(数据控制语言)

授予或者召回用户权限 — >grant / revoke

创建和删除数据库

0、查看所有数据库

show databses;

1、创建数据库

create database dname(数据库名称) default charset utf8mb4[编码格式];

2、删除数据库

drop database dname;
drop database if exists school; 

3、查看创建数据库的过程

show create database school;

!!! 注意:SQL是不区分大小写的编程语言

create / CREATE

4、切换指定数据库

use dname;

5、显示数据库中所有的表

show tables;

6、创建二维表

create tables tb_name
(
tb_id,
tb_name,
tb_sex,
tb_brith
);

主键(primary key):能够唯一确定一条记录的列。

写一个学生表例子

create table tb_student
(
    stu_id int unsigned not null comment '学号',
    stu_name varchar(20) not null comment '姓名',
    stu_sex boolean default 1 comment  '性别',
    stu_brith date comment '出生日期',
    primary key (stu_id)
) engine = innodb comment '学生表';

外键约束

约束外键约束用来保证关联数据的关系

ENUM枚举类型 例子: sex ENUM(“男“,”女”) NOT NULL

forign key 外键约束

CREATE table t_dept(
     deptno INT UNSIGNED PRIMArY KEY, 
     dname VARCHAR(20) NOT NULL unique, 
     tel CHAR(4) UNIQUE ); 
 
 create table t_temp( 
    empno INT unique primary KEY, 
    ename VARCHAR(20) not null, 
    sex ENUM("男","女") NOT NULL, 
    deptno int unsigned NOT NULL, 
    hiredate DATE NOT NULL, 
    foreign key (deptno) references t_dept(deptno)
     );

数据类型

~整数:int(integer) / bigint / smallint /tinyint — > unsigned
~小数:float / double / decimal
~时间日期:time / date /datetime /timestamp
~字符串: char(10) 【写多少存多少空间】/ varchar(20) 【比较灵活一些】
~大对象: longtext / longlob ----->4G

修改数据表结构

ALTER TABLE 表名称

  modify 列1 数据类型 [约束] [COMMENT 注释],
  MODIFY 列2 数据类型 [约束] [COMMENT 注释], ……;

添加数据结构

ALTER TABLE 表名称 
    ADD 列1 数据类型 [约束] [COMMENT 注释], 
    ADD 列1 数据类型 [约束] [COMMENT 注释];

修改字段名称

ALTER TABLE 表名称 
CHANGE  列1 新列名 数据类型 [约束] [Comment 注释], 
CHANGE 列2 新列名 数据类型 [约束] [Comment 注释],

删除字段名称

ALTER TABLE 表名称 
   DROP 列名;

数据库的索引机制索引的使用原则

  • 数据量很大,而且经常被查询的数据表可以设置索引
  • 索引只添加在经常被用作检索条件的字段上面
  • 不要在大字段上创建索引

创建索引
index 索引名称(字段)
例如: index idx_type(type)

添加与删除索引
create index 索引名称 on 表名(字段)
alter table 表名称 add index索引名;
show index from 表名;
drop index 索引名称 on 表名;

#例子
DROP INDEX idx_type on t_message; 
alter table t_message 
add INDEX idx_type(type); 
show INDEX FROM t_message;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值