MySql基础知识

目录

前言:

一、MySql简述

二、基本操作

1.对数据库操作:

2. 对表的操作:

2.1 创建表:create

2.2 修改表:alter

3. 对表数据的操作

3.1 插入、修改、删除数据:

3.2 表查询select:


前言:

主要用来记录学习和方便自己查询,使用的软件是SQLyog容易上手。

一、MySql简述

1. 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。

2. mysql是一个关系数据库管理系统(RDBMS),所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
 

二、基本操作

1.对数据库操作:

create database if not exists  `数据库名`;	-- 创建数据库
DROP DATABASE  IF EXISTS `数据库名`;	-- 删除数据库
show databases; -- 显示所有数据库
use `数据库名`;	-- 切换数据库

-- 如果表名或数据库名为特殊字符,需要带 ` ` 区分,建议都带上;

2. 对表的操作:

2.1 创建表:create

create table if not exists `表名`(
    '字段名' 列类型 [属性] [索引] [注释],
    '字段名' 列类型 [属性] [索引] [注释]
)[表类型] [字符集设置] [注释]

-- 上面是模板,字段名就是列名,类型就是数据类型,属性就是非空、自增等设置,
-- 索引就是设置为主键等,注释就是解释字段含义。可以先创建好列名和属性其他的可以最后再补。
-- 注意区分 ` ` 和 ' ' 第一个是在ESC键下,另一个是单引号。

例子:
CREATE TABLE IF NOT EXISTS `student` (
	-- AUTO_INCREMENT 自增 INT(4)不足在前面补0
	`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
	`name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
	`pwd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密码',
	`sex` VARCHAR(2) NOT NULL DEFAULT '男' COMMENT '性别',
	`birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
	`address` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址',
	`email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
	PRIMARY KEY (`id`)  -- 主键,最后一行不用加,
)ENGINE=INNODB DEFAULT CHARSET=utf8


-- 关于数据库引擎
/*
INNODB 默认使用
MYISAM 早些年使用的
*/

-- ENGINE 引擎
/*
ENGINE=InnoDB使用InnoDB引擎,InnoDB,是MySQL的数据库引擎之一。
DEFAULT CHARSET=utf8 数据库默认编码为utf-8
AUTO_INCREMENT=1 自增键的起始序号为1,AUTO_INCREMENT会在新记录插入表中时生成一个唯一的数字。
希望在每次插入新记录时,自动地创建主键字段的值,可以在表中创建一个 auto-increment 字段。
*/

2.2 修改表:alter

-- 修改表名
alter table '表名' rename as '新表名';

-- 增加列(字段)
alter table '表名' add '列名' 类型 索引 注释;

-- 删除列
alter table '表名' drop '列名';

-- 更改列
alter table '表名' change '原字段名' '新字段名' 新数据类型 -- 还可以修改字段类型(约束)
alter table '表名' modify '字段名' 新数据类型 -- 字段类型(约束)

3. 对表数据的操作

3.1 插入、修改、删除数据:

-- 插入数据 insert into
insert into '表名'(字段名1,字段名2...) values('数据1','数据2'....);  
例子:
INSERT INTO `student`(name, pwd, sex) VALUES('张三','0000','男');
-- 添加多条用逗号隔开
INSERT INTO `student`(name, pwd, sex) VALUES('张三','0000','男'),('李四','0011','女'),('王五','0022','男');


-- 修改数据 update
update '表名' set '字段名' = '修改内容' where 条件 or/and 条件2;
例子:
UPDATE `student` SET `name` = '新name';	-- 不加条件修改全部
UPDATE `student` SET `name` = '张三' WHERE `id` = 1;
UPDATE `student` SET `name` = '张三' ,`email`='123@qq.com' WHERE `id` = 1; -- 多个用逗号隔开



-- 删除数据 delete
delete from '表名' where 条件; --删除某条数据 
truncate '表名'; -- 清空表数据,索引和结构保留
例子:-- 格式:DELETE FROM 表名 [WHERE 条件];
DELETE FROM `student` WHERE id = 1; -- 删除某条数据
TRUNCATE student -- 清空表数据,表的结构和索引不会删除

3.2 表查询select:

-- 查询表数据 select
select '字段名' from '表名' where 条件;
select '字段名' as '别名' from '表名' where 条件;
--别名就是让别名代替字段名在结果中显示。

-- INNER JOIN 联表查询
SELECT s.studentno,`studentname`,`subjectno`,`studentresult`
FROM `student` AS s
INNER JOIN `result` AS r
WHERE s.studentno = r.studentno; -- 等值连接中去掉重复的列,形成的连接;
-- 查询类型很多。。。。。后面补

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值