作者:我系懒懒懒猫 | 来源:互联网 | 2023-08-21 11:37
MySql基础
一、数据库的简介
1.1、理解
概念:就是⼀款⽤于持久化保存数据的软件
保存数据的技术:
-
变量 2. 对象 3. 数组 4. 集合 【将数据保存到内存】【 易失性】
-
IO 【可以持久化保存】 【操作性差】
数据库既可以持久化保存数据 ⼜⾮常灵活的操作数据
1.2、特点
1、可以持久化保存数据
2、保存数据是有组织 有结构
3、数据库是以表的形式 保存数据的
4、提供SQL语句 ⽤于操作⾥⾯的数据
1.3、分类
1、关系型数据库
Oracle、MySQL、SQLServer…
2、 ⾮关系型数据库
redis、MongoDB、HBase
二、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;