Mysql入门以及基础命令(数据库定义语言DDL)

MySql基础

一、数据库的简介

1.1、理解

概念:就是⼀款⽤于持久化保存数据的软件

保存数据的技术:

  1. 变量 2. 对象 3. 数组 4. 集合 【将数据保存到内存】【 易失性】

  2. IO 【可以持久化保存】 【操作性差】

数据库既可以持久化保存数据 ⼜⾮常灵活的操作数据

1.2、特点

1、可以持久化保存数据

2、保存数据是有组织 有结构

3、数据库是以表的形式 保存数据的

4、提供SQL语句 ⽤于操作⾥⾯的数据

1.3、分类

1、关系型数据库

Oracle、MySQL、SQLServer…

2、 ⾮关系型数据库

redis、MongoDB、HBase

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ml04BAEx-1648731004414)(C:\Users\12994\Desktop\笔记整理\JavaWeb\笔记\总结整理\Mysql基础以及DDL.assets\image-20220329201616715.png)]

二、SQL命令

2.1、SOL分类

数据库存储结构

⼀个数据库系统 ----> 保存很多个数据库

⼀个库中 ----> 保存很多数据表

表中 ----> 表头(字段/列名) ⼀条条数据

分类

DDL 数据定义语言 创建/删除库 创建、删除和修改表

DML 数据操作语言 数据可表中的数据的增删改操作

DQL 数据查询语言 数据库表中数据的查询

DCL 数据控制语言 数据可用户权限的操作

事物

2.2、DDL

2.2.1、库操作

1、show databases;【查看数据库系统中所有的库】

2、create database if not exists 库名;【创建一个数据库】

3、drop database if exists 库名;【删除一个数据库】

4、show create database 库名;【查看创建的数据库语句】

5、use 库名;【选中库】

2.2.2、表操作

1、show tables;【查看库中的所有表】

2、create table if exists 表名(列名 类型,列名 类型,列名 类型,列名 类型,………………)

CREATE TABLE employess(
employee_id INT(6),
first_name VARCHAR(20),
last_name VARCHAR(25),
email VARCHAR(25),
phone_number VARCHAR(20),
job_id VARCHAR(10),
salary DOUBLE(10,2),
commission_pct DOUBLE(4,2),
manager_id INT(6),
department_id INT(4),
hiredate DATETIME,
PRIMARY KEY(`employee_id`) -- 设置主键
)

3、desc 表名;【查看表结构】

4、drop table if exists 表名;【删除表】

5、修改表【alter

alter table 表名 rename to 新表名;【修改表名】

alter table 表名 change column 列名 新列名 类型;【修改列名】

alter table 表名 modify column 列名 新类型;【修改列的类型】

alter table 表名 add column 新列名 类型;【添加新列】

alter table 表名 drop column 列名;【删除一列】

2.2.3、约束的操作

mysql的五大约束

理解:额外的限定数据库表中的值,保证数据的正确性、准确性和完整性

分类:

primary key 【主键约束】 保证数据不能重复 不能为null 一个表对应一个主键约束

not null 【非空约束】 保证数据不能为空

default 【默认约束】 保证数据不屑也有默认值

unique 【唯一约束】 保证数据不重复 可以为null 并且可以有多个

foreign key 【外键约束】 建立表与表之间爱的关系

​ 要求:1、一个表(从表)的列 与 另一个表(主表)的主键列建立外键关系

​ 2、要先有主表 才能有从表

​ 3、从表的外键字段 和 主表的主键字段

​ 4、外键的取值 一定要来源于主键的值

添加约束

添加主键约束

ALTER TABLE users ADD PRIMARY KEY(id); # --- 表级添加
ALTER TABLE users MODIFY COLUMN id INT PRIMARY KEY; # --- 列级添加**

添加 not null

ALTER TABLE users MODIFY COLUMN NAME VARCHAR(16) NOT NULL; 

添加 default

ALTER TABLE users MODIFY COLUMN age CHAR(4) DEFAULT 18; 

添加 unique

ALTER TABLE users ADD UNIQUE(cardno); # --- 表级添加

ALTER TABLE users MODIFY COLUMN cardno VARCHAR(20) UNIQUE; # --- 列级添加

添加 外键 foreign key

ALTER TABLE users ADD CONSTRAINT fk_u_c FOREIGN KEY(c_id) REFERENCES class(cid);
删除约束

删除主键约束

ALTER TABLE users DROP PRIMARY KEY;

ALTER TABLE users MODIFY COLUMN id INT NULL; 

删除 not null

ALTER TABLE users MODIFY COLUMN NAME VARCHAR(16) NULL; 

删除默认约束

ALTER TABLE users MODIFY COLUMN age CHAR(4);

删除 唯⼀约束

ALTER TABLE users DROP INDEX cardno; 

删除外键

ALTER TABLE users DROP FOREIGN KEY fk_u_c;

ALTER TABLE users DROP INDEX fk_u_c;

DIFY COLUMN age CHAR(4);


**删除 唯⼀约束**

```sql
ALTER TABLE users DROP INDEX cardno; 

删除外键

ALTER TABLE users DROP FOREIGN KEY fk_u_c;

ALTER TABLE users DROP INDEX fk_u_c;

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皮卡丘不断更

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值