数据库的操作
- 显示当前数据库版本:
- select version();
- 显示当前数据库的时间:
- select now();
- 查看所有数据库:
- show databases
- 创建数据库:
- create database 数据库名 (charset=指定数据库编码方式);
- 例如:create database text charset=utf8;
- (注意:中文编码是utf8而不是utf-8)
- 查看创建数据库的创建语句:
- show create database 查看的数据库名;
- 删除数据库:
- drop database 数据库名;
- 使用数据库:
- use 数据库名;
- (在不同数据库之间可随意跳动)
- 查看当前使用的数据库:
- select database();
数据表的操作
- 查看当前数据库中所有表:
- show tables;
- 创建数据表:
- create table 数据表名字 (字段 类型 约束[,字段 类型 约束]);
- 例如:creat table hero(id int unsigned, name varchar(30));
- int unsigned代表无符号数据类型
- 但是在C语言中定义一个无符号变量:unsigned int a;
- 例如:creat table hero(id int primary key not null auto_increment, name varchar(30));
- 黄色标记的为约束条件:主键,非空,自动增长
- 例如:
create table students( id int unsigned not null auto_increment primary key, name varchar(30), age tinyint unsigned, gender enum("男", "女", "保密") default "保密", cls_id int unsigned );
- 例如:creat table hero(id int unsigned, name varchar(30));
- create table 数据表名字 (字段 类型 约束[,字段 类型 约束]);
- 删除数据表:
- drop table 需要删除的数据表的名字;
- 查看数据表的创建语句:
- show create table 数据表名字;
- 查看数据表的结构:
- desc 数据表名;
- 修改数据表名:
- alter table 旧表名 rename 新表名;
- 更改数据表的引擎:
- alter table 表名 engine=修改后的引擎名称;
- 修改表的结构:
- 添加字段:
- alter table 表名 add 字段名(列名) 类型及约束;
- 修改字段(重命名版):
- alter table 表名 change 原 名 新名 类型及约束;
- 修改字段(不重命名版):
- alter table 表名 modify 列名 类型及约束;
- 删除字段:
- alter table 表名 drop 列名;
- 添加字段:
数据的增删改查
- curd的解释:创建(Create)、更新(Update)、读取(Retrieve)、删除(Delete)
添加
- 主键字段 可以用 0 、null、default 来占位。
- 全列插入:
- insert into 表名 values(字段1, 字段2, ……);
- 向指定列中添加数据:
- insert into 表名(需要插入数据的列1, 列2, ……) values(字段1, 字段2, ……);
- 多行插入:
- insert into 表名 values(字段1, 字段2, ……), (字段1, 字段2, ……);
- insert into 表名(需要插入数据的列1, 列2, ……) values(字段1, 字段2, ……), (字段1, 字段2, ……);
删除
- 物理删除:
- 删除整个数据表:
- delect from 表名;
- 条件删除:
- delect from 表名 where 条件;
- 删除整个数据表:
- 逻辑(假)删除:
- 用一个字段来表示 这条信息是否已经不能在使用了
- 给 XX表中添加一个is_delect字段 bit 类型
- alter table XX表 add is_delect bit default 0;
- update XX表 set is_delect=1 where id=6;
修改
- 全列修改:
- update 表名 set 列1=值1, 列2=值2……;
- 列中部分修改:
- update 表名 set 列1=值1, 列2=值2…… where 条件;
- 例如:update hero set wuqi=2 where name=“小李子”;
查询
- 查询所有列(查询表中的数据):
- select * from 表名;
- 查询指定列(可以用as为列或表指定别名):
- select 列1, 列2, …… from 表名;
-哪列在前先出现哪列。
- select 列1, 列2, …… from 表名;
- 指定条件查询:
- select * from 表名 where 条件;
- 例如:select * from hero where name=“小李子”;
- 例如:select * from hero where id>5;
MySQL 多种查询详解链接:
https://blog.csdn.net/weixin_43622863/article/details/87943943