导图社区 【MySQL零基础学习】基础操作大全
针对MySQL的零基础教学,分汇总了语言、数据库基本结构、数据库、数据表的知识,大家可以学起来哦。
编辑于2023-06-29 19:41:10 广西壮族自治区MySQL的基础操作
语言
DDL数据定义语言
CREATE
ALTER
DROP
DML数据操作语言
INSERT
UPDATE
DELETE
DQL数据查询语言
SELECT<字段名>FROM<表名>
DCL数据控制语言
GRANT
REVOKE
书写要求
SQL语句可以单行或多行书写,用;结尾——只要没有;无论如何换行都会被认为是一条命令
SQL关键字用空格分隔,也可以用缩进来增强语句的可读性
SQL对大小写不敏感
用#(空格)或--(空格) 单行注释,用/* */多行注释,注释语句不可执行
Ctrl+回车执行命令
数据库基本结构
数据库
同一个数据库管理系统中数据库名称必须唯一
表
同一个数据库中表名必须唯一
字段
一列为一个字段,同一个表中字段名必须唯一
以字段为基本存储和计算单位,每个字段的数据类型必须一致
记录
一行为一条记录
数据库
查看数据库
show databases;
创建数据库
create database 数据库名称;
1.数据库名称不能与SQL关键字相同,也不能重复; 2.命名规则 :字符(中文/英文)、数字(不能出现在首位)和 _(不能单独使用),不需要加引号
选择使用数据库
use 数据库名称;
删除数据库
drop database 数据库名称;
数据表
创建数据表 (要先use 数据库名称;)
create table 表名(字段1 数据类型 [约束条件][,……,字段n 数据类型[约束条件]])
建表时可以不指定约束条件,但是必须指定表名、字段名及每个字段的数据类型
数据类型
数值型
字符串型
日期时间型
常用数据类型
int
大整数型,有符号大小-2147483648~2147483647, 无符号大小0~4294967295,默认长度最多为11个数字,如int(11)
float
单精度浮点型,默认float(10,2),表示最多10个数字,其中有2位小数
char
固定长度字符串型,长度为1-255。如果实际长度小于指定长度,右边填充空格。 如果不指定长度,默认为1。如char(10),‘abc ’
varchar
可变长度字符串型,长度为1-255。必须指定长度,如varchar(10),‘abc’
text
长文本字符串型,最大长度65535,不能指定长度
date
日期型,‘yyyy-MM-dd’
time
时间型,‘hh:mm:ss’
datetime
日期时间型,‘yyyy-MM-dd hh:mm:ss’
字符串类型和日期时间类型都需要用引号括起来
约束条件
约束条件是在表上强制执行的数据检验规则 用来保证创建的表的数据完整性和准确性 主要在两方面对数据进行约束:空值和重复值
常用约束条件
主键约束(primary key)
每个表中只能有一个主键;主键值须非空不重复;可设置单字段主键,也可设置多字段联合主键,联合主键中多个字段的取值完全相同时,才违反主键约束
添加主键约束
单一主键约束
create table <表名> (<字段名1> <字段类型1> primary key,……<字段名n> <字段类型n>);
联合主键约束
create table <表名>(<字段名1> <字段类型1>,......<字段名n> <字段类型n>, [constraint 主键约束名] primary key(字段名1[,字段名2,...字段名n]));
唯一约束(unique)
指定字段的取值不能重复,可以为空,但只能出现一个空值(多出现就重复了)
添加唯一约束
单个字段作为唯一约束
create table <表名> (<字段名1><字段类型1>unique,……<字段名n><字段类型n>);
多个字段作为唯一约束
create table<表名>(<字段名1><字段类型1,……<字段名n><字段类型n>,[constraint 唯一约束名]unique(字段名1[,字段2…字段n]))
自动增长列(auto_increment)
指定字段的取值自动生成,默认从1开始,每增加一条记录,该字段的取值会加1; 只适用于整数型,配合主键一起使用;
创建自动增长约束
create table <表名>(<字段名1><字段类型1>primary key auto_increment,……<字段名n><字段类型n>);
非空约束(not null)
字段的值不能为空
创建非空约束
create table <表名>(<字段名1><字段类型1>not null,……<字段名n><字段类型n>);
默认约束(default)
如果新插入一条记录时没有为该字段赋值,系统会自动为这个字段赋值为默认约束设定的值
创建默认约束
create table<表名>(<字段名1><字段类型1>default value,……<字段名n><字段类型n>);
外键约束(foreign key)
在一张表中执行数据插入、更新、删除等操作时,DBMS都会跟另一张表进行对照,避免不规范的操作,以确保数据存储的完整性。 某一表中某字段的值依赖于另一张表中某字段的值
创建外键约束
create table<表名>(<字段名1><字段类型1>,……<字段名n><字段类型n>,[constraint 外键约束名]foreign key(字段名)references<主表>(字段));
查看当前数据库中的所有表
show tables;
查看表结构
desc 表名;
删除数据表
drop table 表名;
修改数据表
修改表名
alter table 原表名 rename 新表名;
修改字段名
alter table 表名 change 原字段名 新字段名 数据类型 [自增/非空/默认][字段位置];
数据类型改不改都要写上; 约束类型不写就不改,写就改,只能改为auto_increment/not null/default; 字段位置可以写也可以不写,不写就不改。
修改字段类型
alter table 表名 modify 字段名 新数据类型 [自增/非空/默认] [字段位置];
修改字段的排列位置
改到第一行
alter table 表名 modify 字段名 数据类型 [自增/非空/默认] first;
改到某行之后
alter table 表名 modify 要排序的字段名 数据类型 [自增/非空/默认] after 参照字段;
添加字段
alter table 表名 add 新字段名 数据类型 [自增/非空/默认] [字段位置];
不指定字段位置则默认放在最后一行
删除字段
alter table 表名 drop 字段名;