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;

相关推荐
学嵌入式的小杨同学12 小时前
STM32 进阶封神之路(八):外部中断 EXTI 实战 —— 按键检测从轮询到中断(库函数 + 寄存器双版本)
linux·stm32·单片机·嵌入式硬件·mcu·架构·硬件架构
czlczl2002092512 小时前
Mysql的多版本快照MVCC机制与Mysql四种隔离级别
数据库·mysql
有想法的py工程师13 小时前
PostgreSQL 事务隔离级别详解(以及与MySQL实现差异)
数据库·mysql·postgresql
chuxinweihui13 小时前
MySQL内外连接
数据库·mysql
杨云龙UP14 小时前
ODA服务器RAC节点2/u01分区在线扩容操作记录及后续处理流程(Linux LVM + ext4 文件系统在线扩容操作手册)_20260307
linux·运维·服务器·数据库·ubuntu·centos
iPadiPhone21 小时前
流量洪峰下的数据守护者:InnoDB MVCC 全实现深度解析
java·数据库·mysql·面试
jyfool21 小时前
Ubuntu 远程桌面配置踩坑实录:从 TightVNC 到 x11vnc 的折腾之旅
linux·运维·ubuntu
安当加密21 小时前
基于 RADIUS 的 Linux 服务器双因子认证:从 FreeRADIUS 到轻量级 ASP 方案的演进
linux·运维·服务器
66清小风1 天前
服务器安装操作系统报X or window manager startup failed, falling back to mode
linux·kylin
泯仲1 天前
从零起步学习MySQL 第一章:初识MySQL及深入理解内部数据类型
数据库·mysql