MySQL的基础概念
MySQL:是一个流行的开源关系型数据库管理系统(RDBMS),由瑞典公司 MySQL AB 开发,现在由 Oracle Corporation 持有和维护。MySQL 被广泛用于Web应用程序开发,是许多网站和应用程序的后端数据库系统,其基础概念涉及数据库、表、字段、行、索引、SQL等关键方面。
学习MySQL需要学习SQL(结构化查询语言)
SQL 语言的主要分类
将SQL语言可以根据其功能和用途分为不同的子集和类别。
DDL(数据定义语言)
包括创建(CREATE
)、修改(ALTER
)和删除(DROP
)数据库、表、索引等的操作。
DML(数据操控语言)
包括查询(
SELECT
)、插入(INSERT
)、更新(UPDATE
)、删除(DELETE
)等操作。
DQL(数据库查询语言)
包括授予权限(
GRANT
)和撤销权限(REVOKE
)等操作。
DCL(数据库控制语言)
包括提交事务(
COMMIT
)、回滚事务(ROLLBACK
)、设置保存点(SAVEPOINT
)等操作。
基础语法
以下我会从四个方面来逐步讲解(增删改查)
增
库的操作
创建库: CREATE DATABASE database_name;
实例: create database sun; 创建一个名字为sun的数据库
表操作
创建表: CREATE TABLE table_name (命名 , 类型 约束规则, ........);
实例: create table student(name varchar(20),age int );
列操作
添加列:ALTER TABLE 表名 ADD COLUMN 添加的列 数据类型;
实例 : alter table sun add column age int;
删除列:ALTER TABLE 表名 DROP COLUMN 删除的列;
实例 : alter table sun drop column age int;
值操作
插入数据:INSERT INTO table_name (列1, 列2, ...) VALUES (value1, value2, ...);
实例: insert into sun(name,age)values(“zhangsan”,18);
删
删除库
删除库: DROP DATABASE database_name;
实例: drop database sun; 删除sun的数据库
删除表
删除表: DROP TABLE table_name;
实例 drop table good ; 删除good的数据表(进入数据库内再删除)
删除值
删除数据: DELETE FROM table_name WHERE 条件;
实例: delete from sun where name='sun'; 删除sun表中name=sun的
改
修改表名
ALTER TABLE old表名 RENAME TO new表名;
实例 alter table sun rename to hello;
更新数据
UPDATE table_name SET column1 = value1, ... WHERE 条件;
实例:update sun set age=30 where name=’zhangsan‘; 将sun表张三的年龄修改为30岁
UPDATE table_name SET column1 = value1;
如果没有条件那么所有符合条件的都会修改
查
输出整张表
select * from 表名;
特定的列
select age ,name from 表名; 列出表中 age name 的所有数据
条件查询
select * from 表名 where age=18; 列出年龄等于18的所有信息
排序查询
SELECT * FROM 表名 ORDER BY hire_date DESC; 降序排序
like%
%` 表示零个或多个字符的通配符。
select * from 表 where name like ‘王%’
查找出姓王的同学
like _下划线通配符 `_`
select * from 表 where name like ‘王_ _’
查找出姓王某某的同学
范围查询(between and)
select * from 表 where age between 13 and 20
输出 年龄在13到20之间的人所有信息
并且查询(and)
都要满足条件
select * from 表 where age=‘18’ and adress=‘北京’
输出年龄18 并且在北京人的信息
或查询(or)
select * from 表 where 工资=6000 or 奖金=1000
输出 工资等于6000或者奖金等于1000的信息
in 查询 (in)
select * from 表 where 数学 in (80 ,90,100)
输出 数学成绩等于80 90 100的所有人信息
其他命令
进入特定的数据库
use 数据库名称
查询所有数据库
show databases;
查询所有表
show tables;