数据库操作
名字可以包括数字字母下划线美元符号$
表和库的名字区分大小写 可以调整 但是列明索引别名等都不区分
查询其他数据库的表可以用 库名.表名
数据库属性
库的默认语言
创建库
注意很重要的一点语言和排序模式必须是一样的 即排序模式是你设置的语言所支持的
建表默认的语言和排序
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