【小菜鸟之---MySQL基础-基础知识】

1【数据库类型?】

关系型数据库:SQL(Structured Query Language)

MySQL、Oracle、Sql Server、DB2、SQLlite
通过表和表之间,行和列之间的关系进行数据的存储
通过外键关联来建立表与表之间的关系

非关系型数据库:NoSQL(Not Only SQL)

Redis、MongoDB
指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定.

MySQL就是数据库管理系统

2【基本命令】

show databases;	--查看当前所有的数据库
use 数据库名;	--打开指定的数据库
show tables;	--查看所有的表
describe/desc 表名;	--显示表的信息
create database 数据库名;	--创建一个数据库
	--退出连接

3【数据库操作】

2.1、操作数据库

1、创建数据库

CREATE DATABASE [IF NOT EXISTS] 数据库名;

2、删除数据库

DROP DATABASE [if EXISTS] 数据库名;

3、使用数据库

--如果表名或者字段名是特殊字符,则需要带
use 数据库名;

4、查看数据库

SHOW DATABASES;

4【索引】

索引(Index)是帮助MySQL高效获取数据的数据结构。

    提高查询速度
    确保数据的唯一性
    可以加速表和表之间的连接 , 实现表与表之间的参照完整性
    使用分组和排序子句进行数据检索时 , 可以显著减少分组和排序的时间
    全文检索字段进行搜索优化
-- 创建学生表student
CREATE TABLE `student`(	
	`StudentNo` INT(4) NOT NULL COMMENT '学号',
	`LoginPwd` VARCHAR(20) DEFAULT NULL,
	`StudentName` VARCHAR(20) DEFAULT NULL COMMENT '学生姓名',
	`Sex` TINYINT(1) DEFAULT NULL COMMENT '性别,取值0或1',
	`GradeID` INT(11) DEFAULT NULL COMMENT '年级编号',
	`Phone` VARCHAR(50) NOT NULL COMMENT '联系电话,允许为空,即可选输入',
	`Adress` VARCHAR(255) NOT NULL COMMENT '地址,允许为空,即可选输入',
	`BornDate` DATETIME DEFAULT NULL COMMENT '出生时间',
	`Email` VARCHAR(50) NOT NULL COMMENT '邮箱账号,允许为空,即可选输入',
	`IdentityCard` VARCHAR(18) DEFAULT NULL COMMENT '身份证号',
	PRIMARY KEY (`StudentNo`),
	UNIQUE KEY `IdentityCard` (`IdentityCard`),
	KEY `Email` (`Email`)
)ENGINE=MYISAM DEFAULT CHARSET=utf8;

主键索引

主键索引(PRIMARY KEY)

唯一的标识,主键不可重复,只有一个列作为主键

    最常见的索引类型,不允许为空值
    确保数据记录的唯一性
    确定特定数据记录在数据库中的位置
    
   -- 创建表的时候指定主键索引
CREATE TABLE tableName(
  ......
  PRIMARY INDEX (columeName)
)

-- 修改表结构添加主键索引
ALTER TABLE tableName ADD PRIMARY INDEX (columnName)

普通索引

普通索引(KEY / INDEX)

默认的,快速定位特定数据

    indexkey 关键字都可以设置常规索引
    应加在查询找条件的字段
    不宜添加太多常规索引,影响数据的插入,删除和修改操作
    
   -- 直接创建普通索引
CREATE INDEX indexName ON tableName (columnName)

-- 创建表的时候指定普通索引
CREATE TABLE tableName(
  ......
  INDEX [indexName] (columeName)
)

-- 修改表结构添加普通索引
ALTER TABLE tableName ADD INDEX indexName(columnName)

唯一索引

唯一索引(UNIQUE KEY)

它与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值

与主键索引的区别:主键索引只能有一个、唯一索引可以有多个


-- 直接创建唯一索引
CREATE UNIQUE INDEX indexName ON tableName(columnName)

-- 创建表的时候指定唯一索引
CREATE TABLE tableName(  
	......
	UNIQUE INDEX [indexName] (columeName)  
);  

-- 修改表结构添加唯一索引
ALTER TABLE tableName ADD UNIQUE INDEX [indexName] (columnName)

查看索引

show index from 表名;

show index from student;



仅作个人学习笔记使用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一只慵懒的猪

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

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

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

打赏作者

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

抵扣说明:

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

余额充值