Mysql数据库的相关操作
show databases;
create database 数据库名称 charset=utf8;# 默认使用的拉丁字符集\'latin1\',中文显示乱码,charset的功能是创建时指定字符集编码
show create database 数据库名称;
drop database 数据库名称;# 数据库名中有中横线的,会被当成特殊意义,需要使用\'\'进行包含
use 数据库名;
select database();
show variables like \'%storage_engine%\';# windows默认的存储引擎为MyISAM,支持事务,支持外键# Linux默认的为InnoDB,不支持事务,不支持外键
show engines;
数据库表的相关操作
show tables;# 表名不能为sql语言的关键字,一个表中可以有一个或多个字段。定义时,字母大小写均可,各字段之间用逗号隔开,最后一个字段后不需要加逗号。
- 完整性约束条件
完整性约束条件是对字段进行限制。要求用户对该属性进行的操作符合特定的要求。如果不满足完整性约束条件,数据库系统将不执行用户的操作。其目的是为了保证数据库中数据的完整性。
MYSQL中基本的完整性约束条件如下表:
主键primary key:物理上存储的顺序
非空not null:此字段不允许填写空值
惟一unique:此字段的值不允许重复
默认default:当不填写此值时会使用默认值,如果填写时以填写为准
外键foreign key:对关系字段进行约束,当为关系字段填写值时,会到关联的表中查询此值是否存在,如果存在则填写成功,如果不存在则填写失败并抛出异常
说明:虽然外键约束可以保证数据的有效性,但是在进行数据的crud(增加、修改、删除、查询)时,都会降低数据库的性能,所以不推荐使用,那么数据的有效性怎么保证呢?答:可以在逻辑层进行控制
auto_increment 标识该属性怕值自动增加,这是mysql的sql语句的特色。
- 显示表的结构
desc 表名;
show create table 表名 \\G
alter table 原表名 rename 新表名;# 也可以下面这样写alter table 原表名 rename to 新表名;
# 修改表-添加字段alter table 表名 add 字段 类型;# 修改表-修改字段:不重命名alter table 表名 modify 字段名 类型及约束;# 修改表-修改字段:重命名alter table 表名 change 原名 新名 类型及约束;
alter table 表名 add 字段名 类型及约束;# 在表的第一个位置添加字段alter table 表名 add 字段名 类型及约束 first;# 在表的指定位置添加字段alter table 表名 add 已存在的字段名 已存在的类型及约束 after 字段名 类型及约束;
alter table 表名 drop 字段名;
alter table 表名 modify 字段名 类型及约束 first;