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;

相关推荐
JAVA+C语言24 分钟前
MySQL 9.0 最新版本从安装到使用
mysql
Run_Teenage32 分钟前
Linux:深刻理解缓冲区
linux
youxiao_901 小时前
kubernetes 概念与安装(一)
linux·运维·服务器
凡梦千华1 小时前
logrotate日志切割
linux·运维·服务器
wdfk_prog1 小时前
[Linux]学习笔记系列 -- [fs][proc]
linux·笔记·学习
拜托啦!狮子2 小时前
安装和使用Homer(linux)
linux·运维·服务器
吊睛白额鼠2 小时前
从Hive函数collect到MySQL函数group_concat
mysql
liulilittle2 小时前
XDP VNP虚拟以太网关(章节:一)
linux·服务器·开发语言·网络·c++·通信·xdp
Sapphire~2 小时前
Linux-13 火狐浏览器书签丢失解决
linux
不染尘.2 小时前
进程切换和线程调度
linux·数据结构·windows·缓存