第一章、数据库和表的基本操作
学习目标
知识架构
- 数据库基础知识
- 数据类型
- 数据表的基本操作
- 表的约束
- 设置表的字段值自动增加
- 索引
1.1、数据库基础知识
-创建数据库
create database 数据库名称;
- 查看所以数据库
show databases;
- 查看数据库信息
show create database 数据库名;
- 删除数据库
drop database 数据库名;
注意:删除数据库后,数据库中的所有数据都将被清除,原来分配的空间也将被收回!!!
- 查看当前mysql所有编码
show variables like 'character%';
show variables like 'char%';#简写版查看
- 单独查看数据库编码
#查看其他编码同理只需更换xxx部分(character_set_xxx)
show variables like 'character_set_database';
注意:
MySql数据库一旦安装成功,创建的数据库编码也就确定了!!!
如果想修改数据库编码,可以使用alter database 语句来实现!!!
- 修改数据库编码(default可选)
#完整版
alter database 数据库名称 [default] character set 编码方式 collate 编码方式_bin;
#简写版
alter database 数据库名称 character set 编码方式;
#l例如
alter database 数据库名称 character set utf8;
#如果想省事就一步到位(全部utf8)
SET character_set_client = utf8;
SET character_set_connection = utf8;
SET character_set_database = utf8;
SET character_set_results = utf8;
SET character_set_server = utf8;
- 关闭mysql服务器
net stop mysql;
- 开启mysql服务器
net start mysql;
注意: Windows下不能直接重启restartMySQL服务,只能先停止,然后再启动。
1.2、数据类型
使用MySql数据库存储数据时,不同的数据类型决定了MySql存储数据方式的不同。
- 整数类型:TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT。
- 小数类型:
- 浮点数类型: 单精度浮点数(FLOAT)、双精度浮点数(DOUBLE)
- 定点数类型:DECIMAL
- 时间和日期类型:YEAR、DATE、TIME、DATETIME、TIMESTAMP(时间戳可以在创建字段时设置默认值)
- 字符串和二进制类型:CHAR和VARCAHR、BINARY和VARBINARY、TEXT、BLOB、ENUM(枚举类型)、SET、BIT
1.3、数据表的基本操作
- 创建数据表
CREATE TABLE 表名 ( 字段名1 数据类型[完整性约束条件], 字段名2 数据类型[完整性约束条件], 字段名3 数据类型[完整性约束条件], ...... 字段名n 数据类型[完整性约束条件], )
- 查看数据表
SHOW CREATE TABLE 表名;
- 修改数据表
- 修改表名
ALTER TABLE 旧表名 RENAME TO 新表名;
- 修改字段名
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;
- 修改表名
注意:新数据类型不能为空!
- 修改字段的数据类型
alter table 表名 modify 字段名 新数据类型;
- 添加字段
ALTER TABLE 表名 ADD 新添字段名 新字段数据类型;
- 删除字段
ALTER TABLE 表名 DROP 字段名;
- 删除数据表
#删除数据表 DROP TABLE 表名; #查看数据表 SHOW CREATE TABLE userinfo; #修改表名 ALTER TABLE userinfo RENAME TO uinfo; #修改字段名 ALTER TABLE uinfo change uid userid INT; #修改字段的数据类型 ALTER TABLE uinfo modify udesc VARCHAR(200); #修改字段的排列位置 alter table 表名 modify 字段名1 数据类型 FIRST;#是把字段设置为表的第一个字段 alter table 表名 modify 字段名1 数据类型 AFTER 字段名2;#把字段1放到字段2后面 #添加字段 ALTER TABLE uinfo add money VARCHAR(100); #删除字段 ALTER TABLE uinfo drop money; #删除数据表 DROP TABLE uinfo;
1.4、表的约束
- 主键约束
字段名 数据类型 primary key;
- 非空约束
字段名 数据类型 not null;
- 唯一约束
字段名 数据类型 unique;
- 默认约束
字段名 数据类型 default 默认值;
- 设置表的字段名增加
字段名 数据类型 auto_increment;
1.5、设置表的字段值自动增加
- 索引的分类
- 普遍索引:是由key或index定义的索引,它是mysql中的基本索引类型,可以创建在任何数据类型中,其值是否唯一个非空由字段本身的约束条件决定;
- 单列索引:是指在表中单个字段上创建索引,他可以是普通索引、唯一索引或者全文索引,只要保证该索引只对应表中一个字段即可;
- 多列索引:指的是在表中多个字段上创建索引,只有在查询条件中使用了这些字段中的第一个字段时,该索引才会被使用;
- 全文索引:是由fulltext定义的索引,它之能创建在char、varchar或text类型的字段上,而且,现在只有MylSAM存储引擎支持全文索引;
- 空间索引:是由SPATIAL定义 的索引,它只能创建在空间数据类型的字段上。
1.6、索引
-
创建索引
- 创建表的时候创建索引
CREATE TABLE 表名( 字段名 数据类型[完整性约束条件], 字段名 数据类型[完整性约束条件], ... [UNIQUE|FULLTEXT|SPATIAL] INDEX|KEY [别名] (字段名1 [(长度)]) [ASC|DESC]) );
- 使用create index 语句在已经存在的表上创建索引
create [unique | fulltext | spatial] index 索引名 on 表名(字段名 [(长度)] [ASC | DESC]);
- 使用alter table语句在已经存在的表上创建索引
alter table 表名 add [unique | fulltext | spatial] index 索引名 (字段名 [(长度)][asc | desc]);
- 创建表的时候创建索引
-
删除索引
- 使用alter table删除索引
alter table 表名 drop index 字段名;
- 使用drop index删除索引
drop index 索引名 on 表名;
- 使用alter table删除索引
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/189502.html