mysql表操作库操作

版权声明:博客均属作者创作,转载必须声明 https://blog.csdn.net/qq_37120676/article/details/85078108

数据库操作

名字可以包括数字字母下划线美元符号$
表和库的名字区分大小写 可以调整 但是列明索引别名等都不区分
在这里插入图片描述
查询其他数据库的表可以用 库名.表名
数据库属性
库的默认语言
在这里插入图片描述
创建库
注意很重要的一点语言和排序模式必须是一样的 即排序模式是你设置的语言所支持的
建表默认的语言和排序
在这里插入图片描述
在这里插入图片描述
create database database_name;
制定语言在后面加 create database xxx char set gb2312 collate gb2312_ci;
在这里插入图片描述
脚本中: create database if not exists database_name
修改库
alter database database_name collate utf_polish_ci;
在这里插入图片描述
数据库只有语言和排序模式可以设置
collate 和 character/char set
删除库
drop database database_name
drop database if exists database_name
获取库信息
查看创建库的语法
在这里插入图片描述
show databases 查看表 可以加 like 来查看。

表结构操作

建表:
在这里插入图片描述
查看数据库引擎 后面的章节再仔细讲解 这里了解一下建表的引擎。通过修改默认引擎或者在建表时候显性的表示。
1.create建表
格式: CREATE TABLE table_name (column_name 列数据类型 其他属性 , 第二列…,,【主键】);
在这里插入图片描述
varchar属性必须要加多少个字符,int可以选择加或不加
常用的属性有如下: not null 不为空 primary key 主键
auto_increment自动增长 这个是必须要主键才能设置的属性
unsigned 无符号 int等数据类型会有正负之分 加了之后只有正
可以增加更多的存储空间,优化了数据表的结构。
在括号外面可以加上表的引擎和表的字符编码。
在这里插入图片描述
2.通过like复制表结构
只复制格式结构,不复制数据。
在这里插入图片描述
其中的主键和自动增长也会复制 不像下面的select 但是其中也有一部分类似索引和data属性不会照搬,也没有外键。
3.select建表
利用select建表
很重要的先说在前面,select建表不会复制主键和自动增长
在这里插入图片描述
在这里插入图片描述
通过select显示的数据 然后创建一个新的表储存这些数据
在这里插入图片描述
4.创建临时表
主要是用来暂时存储数据或排序等,有几个特点
表只有创建的用户可见,当用户断开连接的时候会自动消亡,
可以与真实的已存在的表同名。
在这里插入图片描述
创建的表如果有同名会覆盖原来的表 你现在的查询等操作都会在这个表上进行, 但是show tables 不会显示临时表。
删除之后原表就会出来了。
在这里插入图片描述

修改表结构:
alter table
添加/删除列:
alter table table_name add column_name 属性
会添加一个新的列,add后面和创建表的格式类似。如果在最后加上first添加的是表的第一列,在后面加after+列名,在这个列之后
在这里插入图片描述在这里插入图片描述

删除列:alter table table_name dropp column_name
在这里插入图片描述
修改已有的列:
alter table table_name modify column_name 修改的属性
在这里插入图片描述
注意修改列属性 需要把列的属性都加上 哪怕是没有修改的属性
change和modify是完全一样的用法 但是change语句可以修改列的名称。
和上面一样 哪怕只改列明也要吧属性列出来
修改表名称
在这里插入图片描述
在这里插入图片描述
两种方法,多个表同是改可以用下面的方法
在这里插入图片描述
删除表,清空表
drop table table_name
在这里插入图片描述
永远要注意删除的操作 需要备份
清空表有两种方法如下
在这里插入图片描述
也可以如下
在这里插入图片描述

索引:
普通索引,这个是最基本的索引,其sql格式是 CREATE INDEX index_name on table_name(字段名(length)) 或者 ALTER TABLE TableName ADD INDEX IndexName(字段名(length))
CREATE INDEX account_Index ON award(account);
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
索引前后区别,主要在与rows查找这个属性搜索了多少行。
唯一索引,与普通索引类似,但是不同的是唯一索引要求所有的类的值是唯一的,这一点和主键索引一样.但是他允许有空值,其sql格式是
CREATE UNIQUE INDEX IndexName ON TableName(字段名(length));
或者 ALTER TABLE TableName ADD UNIQUE (column_list)
在这里插入图片描述
主键
在这里插入图片描述
组合索引
一个表中含有多个单列索引不代表是组合索引,通俗一点讲 组合索引是:包含多个字段但是只有索引名称
其sql格式是 CREATE INDEX IndexName On TableName(字段名(length),字段名(length),…);
在这里插入图片描述
查看索引表信息
查看建表信息
在这里插入图片描述
可以查看到index 成为key 主键即为一种特殊的索引
查看索引 show index from table_name
在这里插入图片描述
在这里插入图片描述
删除索引
alter table 或者 drop index
在这里插入图片描述
在这里插入图片描述
注意删除主键的时候需要先把与主键相关的属性先行删除
例如auto_increment

猜你喜欢

转载自blog.csdn.net/qq_37120676/article/details/85078108