文章目录
显示数据库及表
显示当前使用的数据库列表
-
show databases;
显示当前使用的数据库表列表
-
show tables;
数据库的新建和删除
新建数据库
-
create database DatabaseName;
删除数据库
-
drop database test01;
选择数据库
-
use DatabaseName;
当前当前所在数据库
-
select database();
查看当前数据库表的状态
-
show table status;
mysql的数据类型
数值类型
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fJlaS3WO-1581599822703)(C:\Users\void\AppData\Roaming\Typora\typora-user-images\image-20200213125849343.png)]
日期时间型
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UJw8cc73-1581599822704)(C:\Users\void\AppData\Roaming\Typora\typora-user-images\image-20200213130033000.png)]
字符串类型
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JAhsRGOt-1581599822704)(C:\Users\void\AppData\Roaming\Typora\typora-user-images\image-20200213130130719.png)]
数据库表的新建和删除
新建数据库表
-
CREATE TABLE table_name (column_name column_type);
为表添加约束
主关键字
- 约束的概念和作用(约束就是检查官,检查数据是否有重复的内容)
- 主键约束作用:保证实体完整性
- PRIMARY KEY是检查两条表中的语句是否有重复
外关键子
- 外键约束作用,保证引用完整性
- references关键字的意思是引用的意思。
检查约束
- 检查约束作用,保证域完整性(其取值范围)
- cheek关键字的意思是要规定其取值范围。输入时超过范围错误。
默认值
- 作用:保证域完整性
- DEFAULT 关键字的默认值
自增列
- 作用:保证实体完整性
- AUTO_INCREMENT是自增列的关键字
显示所有元素
-
select *from tb1;
查看表结构
-
describe tb1;
清空表数据
-
delete from studentstable;
修改表结构
添加列
-
alter table 表名 add 列名 类型
删除列
-
alter table 表名 drop column 列名
修改类型(修改列)
-
alter table 表名 modify column 列名 类型;
添加主键
-
alter table 表名 add primary key(列名);
删除主键
-
alter table 表名 drop primary key;
添加一个列的唯一属性
-
在定义完列之后直接使用 UNIQUE 关键字指定唯一约束,语法规则如下:
<字段名> <数据类型> UNIQUE
-
在修改表时添加唯一约束的语法格式为:
ALTER TABLE <数据表名> ADD CONSTRAINT <唯一约束名> UNIQUE(<列名>);
修改自增列
//修改自增属性的列,必须具备主键的属性。
alter table 表名 modify column id int AUTO_INCREMENT;
外键的添加和删除
向从表对一个字段增加外键属性时,从表中的这个字段必须已经存在,且不能有数据。
增加外键
alter table 从表 add constraint 外键名称(形如:FK_从表_主表) foreign key 从表(从表的列名) references 主表(主键列名);
删除外键
alter table 表名 drop foreign key 外键名称
注意
从表的的外键列的属性必须主表的主键列名属性一致。
默认值的修改和删除
修改默认值:
ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000;
删除默认值:
ALTER TABLE testalter_tbl ALTER i DROP DEFAULT;
修改字符集(编码)
修改数据库字符集:
ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE ...];
把表默认的字符集和所有字符列(CHAR,VARCHAR,TEXT)改为新的字符集:
ALTER TABLE tbl_name CONVERT TO CHARACTER SET character_name [COLLATE ...]
例如:
ALTER TABLE logtest CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
查看数据库字符集:
SHOW CREATE DATABASE db_name;
查看表字符集:
SHOW CREATE TABLE tbl_name;
设置存储引擎
MySQL 5.7中
ENGINE = INNODB
是数据库默认的
- 配置文件
my.cnf
中指定数据库服务器默认存储引擎
default-storage-engine=InnoDB
- 创建新表时,可以通过向语句添加ENGINE表选项来 指定要使用的存储引擎
CREATE TABLE t3 (i INT) ENGINE = MEMORY
- 修改一个表的存储引擎
ALTER TABLE t ENGINE = InnoDB;
是数据库默认的
- 配置文件
my.cnf
中指定数据库服务器默认存储引擎
default-storage-engine=InnoDB
- 创建新表时,可以通过向语句添加ENGINE表选项来 指定要使用的存储引擎
CREATE TABLE t3 (i INT) ENGINE = MEMORY
- 修改一个表的存储引擎
ALTER TABLE t ENGINE = InnoDB;