MYSQL理论
- 数据库是一个将数据按照一定的数据结构进行组织 ,存储 和 管理的仓库。
- 关系型数据库指的就是将数据按照一定的关系模组来进行组织的数据库管理系统。
- 非关系型数据库-NOSQL就是将数据按照K-V键值对的形式进行存储,数据与数据之间的关联性不强,约束条件较少(甚至没有)的数据管理系统。
- SQL是一种数据库查询和程序设计语言,主要用于存取数据以及查询、更新和管理关系型数据库。
- SQL语句分为:数据定义语言DDL,数据查询语言DQL,数据操纵语言DML,数据控制语言DCL,事务控制语言TCL。
- 数据定义语言DDL:主要是针对数据库对象(包括数据库、数据表、索引、视图等)进行创建、修改与删除操作
数据查询语言DQL:用于数据库中检索数据,进行各种数据查询,也是日常工作中使用最多的语句
数据操纵语言DML:对于数据表中数据的增加、删除与修改操作
数据控制语言DCL:用于用户账号的操作,比如创建用户、修改权限等
事务控制语言TCL:用于事务的开启、提交、回滚。主要目的是维护数据的一致性
数据定义语言-DDL
数据定义语言(Data Definition Language)-DDL
使用数据定义语言可以完成对数据库对象的操作,包括对数据库、数据表与视图等等对象的增、删、改、查操作
- SQL中注释有两种
– 单行注释
/*
多行注释
*/
SQL语句不区分大小写 - 查询MySQL中数据库
***show 数据库名称;
***`show databases;
-- 1.3 查询MySQL中的所有数据库
-- show databases;
show databases;
-- 1.4 创建数据库
-- create database 数据库名称
create database c0928;
-- 1.5 查询建库语句
-- show create database 数据库名称;
show create database c0928;
-- 1.6 访问数据库
-- use 数据库名称
use c0928;
-- 1.7 查询当前数据库中的所有表
-- show tables;
show tables;
-- 1.8 创建数据表
-- create table 数据表名(字段名 数据类型 [约束], 字段名2 数据类型2 [约束2]);
create table stu(
id int,-- 字段-->列 字段名 数据类型 [完整性约束]
name varchar(20)
);
-- 1.9 查询表结构
-- desc 表名;
desc stu;
-- 1.10 查询建表语句
-- show create table 表名;
show create table stu;
-- ` : 反引号 消除关键字作用,实实在在只代表文本
-- 2 修改
-- 2.1 增加字段,默认放在最后一列
-- alter table 数据表名 add 字段名 数据类型 [约束];
alter table stu add age int;
desc stu;
-- 2.2 增加一个字段放在第一列
-- alter table 数据表名 add 字段名 数据类型 [约束] first;
alter table stu add height int first;
-- 2.3 增加一个字段放在某一列后面
-- alter table 数据表名 add 字段名 数据类型 [约束] after 字段名2;
alter table stu add wight int after name;
desc stu;
-- 2.4 修改地址数据类型为100个字符的varchar
/*
modify只修改字段数据类型定义,不会更改字段名
alter table 数据表名 modify 字段名 数据类型
*/
alter table stu modify height float;
-- 2.5 修改地址字段名
-- alter table 表名 change 原字段名 新字段名 数据类型
alter table stu change wight 身高 float;
desc stu;--查看表
show tables;
-- 2.6 修改表名
-- alter table stu rename 新表名;
alter table productmargin rename p;
-- 3 删除
-- 3.1 删除年龄字段
-- alter table 数据表名 drop 字段名;
alter table stu drop height;
-- 3.2 删除数据表
-- drop table 数据表名;
drop table stu;
-- 3.3 删除数据库
-- drop database 数据库名
drop database c0928;
-- 随堂练习:
-- 创建一个数据库
-- 在刚才创建的数据库中创建一个学生表,包含字段(学号、姓名、性别、年龄、班级、入学日期、备注)
create table student(
id int,
sname varchar(20),
gender varchar(2),
age int,
class varchar(10),
inclass_date date