Linux应用开发————mysql数据库表

mysql数据库表操作

查看表的结构

mysql> desc / describe 表名;

或者:

mysql> show create table 表名;

常见数据库引擎: innodb, myISAM...

删除表

mysql> drop table [if exists] 表名 ;

表(结构)的修改

一般语法格式: alter table 表名 操作方式 数据

1. 修改表名称

mysql> alter table 表名 rename newtb;

2. 添加字段

mysql> alter table 表名 add 字段名 字段类型; [位置];
位置: 增加到最后

first:增加到第一列

after 已有字段: 增加到指定字段之后;

3. 修改字段名称:

mysql> alter table 表名 change 旧字段名 新字段名 字段类型;

4. 修改字段类型:

mysql> alter table 表名 modify 字段名 字段类型;

5. 修改字段顺序:

mysql> alter table 表名 modify 字段名 字段类型 位置;
位置:

first:增加到第一列

after 已有字段: 增加到指定字段之后;

删除字段

mysql> alter table 表名 drop 字段名 ;

设置约束

1) 设置 primary key / unique key

mysql> alter table 表名 add primary key / unique key (字段名) ;
2) 设置 not null 和 auto_increment

mysql> alter table 表名 modify 字段名 字段类型 not null / auto_increment;
3) default 约束

mysql> alter table 表名 alter 字段名 set default '默认值';
4) 外键约束

mysql> ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY(字段) REFERENCES 主表名(主键列) [ON DELETE 参数]

取消约束

1) 取消 primary key / foreign key

mysql> alter table 表名 drop primary key / foreign key;
2) 取消 unique key

mysql> alter table 表名 drop index 字段名;
3) 取消 default 约束

mysql> alter table 表名 alter 字段名 drop default;
4) 取消 not null 和 auto_increment

mysql> alter table 表名 modify 字段名 字段类型;

修改表中字段的字符集

mysql> alter table 表名 convert to character set utf8;

数据的操作

1. 数据增加

SQL 语句的语法格式:

insert into 表名 [(字段1,字段2...)] values (值11,值12...)[,(值21,值22...)];

2. 数据删除

SQL 语句的语法格式:

delete from 表名 where 条件;

**特别注意:**数据删除时一定要指定条件,否则会删除所有数据;

条件如何构建:

MYSQL 提供了关系运算符和逻辑运算符: > < != = >= <= && || ! xor

3. 数据修改

SQL 语句的语法格式:

update 表名 set 字段1 = 值1,字段2 = 值2 where 条件;

4. 数据查询 (单表查询)

4.1 查看所有数据:

mysql> select * from 表名;

4.2 查看指定字段数据:

mysql> select 字段名1,字段名2... from 表名;

4.3 避免重复查询:

mysql> select distinct 字段名 from 表名;

4.4 空值查询

mysql> select 字段名 from 表名 where 字段 = NULL; error

mysql> select 字段名 from 表名 where 字段 is NULL; OK

4.5 条件查询

mysql> select 字段名,... from 表名 where 条件;

mysql> select 字段名,... from 表名 where 条件1 and 条件2;

4.6 范围查询

mysql> select 字段名,... from 表名 where 字段 between 值1 and 值2;

mysql> select 字段名,... from 表名 where 字段 not between 值1 and 值2;

相关推荐
wj3055853787 小时前
课程 9:模型测试记录与 Prompt 策略
linux·人工智能·python·comfyui
abigriver7 小时前
打造 Linux 离线大模型级语音输入法:Whisper.cpp + 3090 显卡加速与 Rime 中英混输终极调优指南
linux·运维·whisper
wangqiaowq7 小时前
windows下nginx的安装
linux·服务器·前端
rising start7 小时前
二、全面理解MySQL架构
mysql·架构
YYRAN_ZZU8 小时前
Petalinux新建自动脚本启动
linux
bqq198610268 小时前
MySQL性能优化
mysql·mysql优化
charlie1145141918 小时前
嵌入式Linux驱动开发pinctrl篇(1)——从寄存器到子系统:驱动演进之路
linux·运维·驱动开发
于小猿Sup9 小时前
VMware在Ubuntu22.04驱动Livox Mid360s
linux·c++·嵌入式硬件·自动驾驶
cen__y9 小时前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git
雨辰AI9 小时前
SpringBoot3 + 人大金仓读写分离 + 分库分表 + 集群高可用 全栈实战
java·数据库·mysql·政务