MySQL基础知识总结

     MySQL是一种关系型数据库管理系统,主要用于对数据的存储和方便人们对数据的读取。在MySQL中,数据存储在表中,以一条一条记录的形式存储,因此大家可以比较容易的理解MySQL存储的是结构化的数据。而我们访问MySQL数据库则需要用到专门的语言,我们称之为结构化查询语言---SQL。本文正是与大家一起学习MySQL数据库和SQL语言的基本知识。


一、对数据库的操作

     对数据存储在数据库有了基本的了解后,就让我们一起来学习如何操作MySQL和组织SQL语言吧。首先我们需要学习和数据库层面相关的基础知识:
-- 创建数据库mydb

CREATE DATABASE mydb;

-- 删除数据库mydb

DROP DATABASE mydb;

-- 创建数据库mydb2,并设置编码字符集为utf8(即支持中文)

CREATE DATABASE mydb2 CHARACTER SET =utf8;

-- 显示详细的创建数据库mydb2的SQL语句

SHOW CREATE DATABASE mydb2;

-- 显示所有数据库

SHOW DATABASES;

二、对表的操作

     就像一本书,分为章、节一样,数据库也有库和表的层级关系,数据实际存储在各张表中,表又是构成数据库的重要部分。接下来我们一起探讨对表的基本操作。当然我们对表的操作需要基于数据库,即在某个库下操作表才有实际意义。

-- 创建表user,设置id为主键并自增

 CREATE TABLE user(
     id INT PRIMARY KEY auto_increment,
     name varchar(18),
     description varchar(100)
 );

-- 创建表user2,设置id为主键并自增

 CREATE TABLE user2(
     id INT PRIMARY KEY auto_increment,
     name varchar(18),
     school varchar(100)
 );

-- 删除表user2

DROP TABLE user2;

-- 编辑表user,添加列address

ALTER TABLE user ADD address VARCHAR(100);

-- 编辑表user,分别添加语文和数学两列

ALTER TABLE user ADD chinese INT(11);ALTER TABLE user ADD math INT(11);

-- 编辑表user,添加列school列

ALTER TABLE user ADD school VARCHAR(100);

-- 编辑表user,修改列address的字段类型长度

ALTER TABLE user MODIFY address VARCHAR(50);

-- 编辑表user,删除列school

ALTER TABLE user DROP school;

-- 编辑表user,设置编码字符集为utf8

ALTER TABLE user CHARACTER  SET utf8;

-- 编辑表user,并重命名为t_user

RENAME TABLE user TO t_user;

三、对数据记录的操作

①添加

-- 添加一条记录

INSERT INTO t_user VALUES(1,'张三','北京',88,87);

-- 同时添加多条记录

INSERT INTO t_user VALUES(2,'李四','上海',66,99),(3,'王五','广州',78,98),(4,'赵六','深圳',89,87);

-- 按表字段添加记录

INSERT INTO t_user(name,address,chinese,math) VALUES('田七','杭州',99,88);

②编辑

-- 编辑user表,设置列address为"中国"
UPDATE t_user SET address = '中国';

-- 按照name或id编辑address
UPDATE t_user SET address = '北京' WHERE name = '张三';
UPDATE t_user SET address = '上海' WHERE id = 2;

③查询

-- 查询user表全部数据记录
SELECT * from t_user;

-- 查询user表的address列并去重
SELECT DISTINCT address FROM t_user;

-- 根据id查询user信息
SELECT * FROM t_user WHERE id = 1;

-- 基于id的条件查询
SELECT * FROM t_user WHERE id > 1;
SELECT * FROM t_user WHERE id > 1 AND address = '中国';
SELECT * FROM t_user WHERE id > 1 or address = '北京';
SELECT * FROM t_user WHERE id in (1,2);
SELECT * FROM t_user WHERE id NOT in (1,2);

-- 模糊查询
SELECT * FROM t_user WHERE address LIKE '中%';
SELECT * FROM t_user WHERE address LIKE '中_';

-- 数据条数统计(当数据量较大时,有兴趣的朋友可以比较两种方式的执行效率)
SELECT COUNT(*) FROM t_user;
SELECT COUNT(1) FROM t_user;

-- 根据id查询并逆序排列
SELECT * FROM t_user ORDER BY id DESC;

-- 分别统计列chinese,math的总和以及平均值
SELECT SUM(chinese),SUM(math) FROM t_user;
SELECT AVG(chinese),AVG(math) FROM t_user;
SELECT SUM(chinese)/COUNT(*),SUM(math)/COUNT(*) FROM t_user; 

-- 统计chinese和math两列的和的最大值和最小值(即求总分最高分和最低分)
SELECT MAX(chinese+math),MIN(chinese+math) FROM t_user;

-- 按照总分为user排序(类似班级成绩表的排名)
SELECT *, SUM(chinese+math) AS total FROM t_user GROUP BY id ORDER BY total DESC;

④删除

-- 删除指定记录
DELETE FROM t_user WHERE id = 1;

-- 删除user表的全部记录(这里没有删除表;注意和DROP区分开来)
DELETE FROM t_user;

     以上我们对数据库、表、数据记录进行了基本的操作,这些知识只是MySQL和SQL的入门级别。学有余力的朋友可以继续深入研究诸如功能各异的关键字和函数,数据库优化、备份、高性能;也可以深入学习研究索引、存储过程、触发器等知识,以及数据库的优化和SQL的优化等等。
 


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值