MySQL基本语法及使用
MySQL
1.MySQL数据库的特点:
开源免费,功能齐全,适合中小型网站
Datebase 数据库
DBMS 数据库管理系统
2.SQL:
*DDL: 数据库,表的创建,删除等
*DML:数据的增删改
*DQL:数据库的查询 select
*DCL:授权,回滚等等
3.数据库的操作
*数据库的创建
create database if not exists 数据库名;
*数据库的删除
drop database if exists 数据库名;
*数据库的使用
use 数据库名;
*查看数据库的创建语句
show create database 数据库名;
4.表的操作
表的字段类型
1.数值类型:
tinyint 非常小的数据 1字节
smallint 较小的数据 2字节
mediumint 中等大小的数据 3字节
int 标准整数 4字节
bigint 较大的整数 8字节
float 单精度浮点数 4字节
double 双精度浮点数 8字节
decimal 字符串形式的浮点数 decimal(m,d) m字节
2.字符串类型
类型 说明 最大长度
char(m) 0<=m<=255 m字符
varchar(m) 可变字符串 0<=m<=65535 变长度
tinytext 微型文本串 //2……8–1字节
text 文本串 2……16-1字节
3.日期和时间型数值类型
类型 说明 取值范围
date YYYY-MM-DD,日期格式 1000-01-01~9999-12-31
time Hh:mm:ss,时间格式 -838:59:59~838:59:59
datetime YY-MM-DDhh:mm:ss
timestamp YYYYMMDDhhmmss格式表示的时间戳
year YYYY格式的年份值
null 未知的
4.属性
auto_increment 自动增长
not null 不能为空
default 设置默认值
primary key 设置主键
5.创建表的语法
create table if not exists 表名(
字段名1 类型 属性,->mid int(3) primary key,
字段名2 类型 属性,->gold int(3),
字段名3 类型 属性,->sn varchar(3)
);
6.表的修改
*修改表名
alter table 旧表名 rename as 新表名
*添加字段
alter table 表名 add 字段名 列类型[属性]
*修改字段
alter table 表名 modify 字段名 列类型[属性] alter table 表名 change 旧字段名 新字段名 列类型[属性]
*删除字段
alter table 表名 drop 字段名
5.删除数据表
drop table [if exists] 表名
6.表的查看
desc 表; show create table 表;
DML
1.表的创建
create table student(
id int(5) default null;
name varchar(20) default null;
age int(3) default null,
score int(3) default null
);
2.插入数据
#插入一条语句
insert into student values(3,'张三',20,60);
insert into student (id,name,age) values(6,'张三',18);#指定字段
#插入多条
insert into student values(4,'关羽',40,90),(5,'曹操',20,50);
insert into student(name,id)values('张飞',6),('刘备',6);
3.更行数据
#将年纪在 20到30之间的学员,score+2分
update student set score=score+2 where age between 20 and 30;
#将分数小于70的学员 分数加2分
update student set score=score+2 where score<70;
4.删除数据
delete from 表 where 条件 delete from 表;#删除所有的数据 truncate table 表;清空表
&&delete 和truncate的区别
一:灵活性:delete可以条件删除数据,而truncate只能删除表中所有数据
delete from table_test where... truncate table-test
二:效率:delete效率低于truncate,delete是一行一行的删除,而truncate会重建表结构
三:事务:truncate是DDL语句,需要drop权限,因此会隐式提交,不能够rollback
delete是DML语句,可以使用rollback回滚
四:触发器:truncate不能触发任何delete触发器,而delete可以触发delete触发器
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)