数据库的操作

【一】库的增删改查
【0】导入数据文件
复制代码
source D:\bjpowernode.sql
【1】创建数据库
复制代码
语法:
create database [if not exists] 数据库名 [character set 编码字符集];
create databases db1;
# 设置库的默认编码
create databases db1 charset='gbk';
【2】查看数据库
复制代码
show databases;  -- 查看所有数据库
show databases like '%test%'; -- 查看名字中包含test的数据库
show create database 数据库名; -- 查看数据库的建库sql语句
【3】修改数据库
复制代码
 名字:
 rename database 旧名字 to 新名字;
 这个语法在 mysql-5.1.7 中被添加进来,到了mysql-5.1.23又去掉了,官方不推荐,会有丢失数据的危险!
字符编码:
alter database db2 charset='utf8';
【4】删库
复制代码
drop database db2;
【5】查看当前库下面的表
(1)查看所有的表
复制代码
show tables;
(2)查看指定的表
复制代码
show create table 表名;
【二】表的增删改查
【1】查看当前所在库的名字
复制代码
select database();  --  查看当前使用的数据库
【2】切换到指定库
复制代码
use 数据库名;        -- 切换数据库
【3】创建表--》前提是已经切换到指定库了
复制代码
create table student(
    id int auto_increment,   -- 字段名:id,数据类型:int整型,auto_increment整数自动增长+1
    name varchar(10),   -- 字段名:name, 数据类型:varchar字符串(长度限制最多10个字符)
    sex int default 1,  -- 字段名:sex,数据类型:int整型,默认值(default):1 相当于True 
    classes int,         -- 字段名:classes, 数据类型:int整型,
    age int,             -- 字段名:age,数据类型:int整数,
    description text,  -- 字段名:description,数据类型:text文本
    primary key (id)  -- 设置主键(id) 每个表必须都有主键,用以区分不同行的数据
);
【3】查看当前表的详细信息
复制代码
describe 表名;
或
desc t1;
【4】查看建表语句
复制代码
show create table 表名;
【5】修改表
(1)修改表的字段类型
复制代码
alter table 表名 modify 字段名 字段类型(宽度);
或
alter table 表名 change 旧字段名 新字段名 新数据类型;
(2)修改表名字重命名
复制代码
alter table 原表名 rename 新表名;
(3)添加字段
复制代码
默认是尾部追加字段
alter table 表名 add 字段名 字段类型;
指定追加位置
alter table 表名 add 字段名 字段类型 after 原字段名;
指定头部添加字段
alter table 表名 add 字段名 字段类型 first;
(4)删除字段
复制代码
alter table 表名 drop 字段名;
(5)删除表
复制代码
drop table 表名;
(6)以绝对路径的形式操作不同的库
复制代码
create table db2.t1(id int);
(7)重置表信息
复制代码
TRUNCATE table 表名;
【三】数据的增删改查
【1】数据的增加
复制代码
列名与值一一对应
单条记录:
insert into user(name, age, selary) values('lisi', 18, 100);
多条记录:
insert into student values(002,'lzj',22,10),(003,'lll',22,10);
【2】数据的查看
复制代码
select * from 表名;
【3】数据的更改
复制代码
当id=1时,把名字改为xx
update 表名 set name='xx' where 条件;
update t1 set name='mengmeng' where id > 1;
【4】删除数据
复制代码
delete from 表名 where 条件;
# 删除指定字段的数据
delete from t1 where id > 1;
# 删除指定字段的数据
delete from t1 where name='dream';
# 清空当前表的所有数据
delete from t1;
【四】MySQL支持哪些运算符?
运算符 说明
= 等于
<>或!= 不等于
< 小于
<= 小于等于
> 大于
>= 大于等于
between ... and ... 两个值之间,等同于 >= and <=
is null 为null (is not null 不为空)
and 并且
or 或者
in 包含,相当于多个 or (not in 不在这个范围内)
not not 可以取非,主要用在is或in中
like like称为模糊匹配,支持 % 或下划线匹配 (% 匹配任意个字符)
  • 补充

    • and的优先级高于or。

    • between...and...当数值时为闭区间,且and前面的数值必须比后面大。若为字符,区间为前闭后开。

【五】处理函数
函数名 解释 用法
lower 转换小写 lower(要转换字段名称)
upper 转换大写 upper(要转换字段名称)
substr 取子串 substr(被截取字段名称,起下标,截取长度)
length 取长度 用法: length(字段名称)
trim 去除空格 trim(字符串)
str_to_date 将字符串转换成日期 str_to_date("日期字符串","日期格式")
date_format 格式化日期 date_format(日期类型数据,"日期格式")
format 设置千分位
round 四舍五入 round(要四舍五入的数字,四舍五入到哪一位),默认保留整数位
rand 生成 0~1 随机数 rand()
ifull 将 null 转换成一个具体的值 ifull(字段名称,将要替换的值)
  • 数据处理函数是该数据本身特有的,有些函数可能在其它数据库不起作用;
相关推荐
weixin_5206498738 分钟前
数据库函数
数据库
Bert.Cai1 小时前
MySQL LPAD()函数详解
数据库·mysql
OnlyEasyCode2 小时前
Navicat 任务自动备份指定数据库
数据库
if else3 小时前
Redis 哨兵集群部署方案
数据库·redis
yejqvow123 小时前
Pandas 高效实现组内跨行时间戳匹配与布尔标记
jvm·数据库·python
了不起的云计算V3 小时前
从DeepSeek V4适配看国产算力的三个拐点
数据库·人工智能
qq_189807033 小时前
html标签如何提升可访问性_aria-label与title区别【指南】
jvm·数据库·python
norq juox3 小时前
MySQL 导出数据
数据库·mysql·adb
qq_349317484 小时前
mysql如何设置定时自动备份脚本_编写shell脚本与cron任务
jvm·数据库·python
952364 小时前
Spring IoC&DI
java·数据库·spring