学习mysql数据库
1、数据库是怎么回事
数据库是存储数据的永久空间,通过一种特殊的方式存储到硬盘中
数据库分为关系型数据库和非关系型数据库
mysql查看数据的方式为:结构化查询语言(SQL语句)
访问mysql数据库服务的客户端可以有多种形式,比如mysql命令、navicat软件、php脚本程序
2、数据类型
3、数据库的增删改查
增:create database 数据库名字 库选项(一般为charset utf8);
删:drop database 数据库名字;
改:alter database 数据库名字 character set = 新字符集 collate = 新校对集
查:show database; 用show create database 数据库名;来查看数据库的字符集和校对集
4、表的增删改查
创建表:
create table [if not exists] 表名(
字段列表, [约束或索引列表],
字段列表, [约束或索引列表],
索引
约束
) [表选项列表];
删除表:drop table 表名;
修改表:说明通常创建一个表能搞定的事情,修改表也可以做到
alter table 表名
增:alter table 表名 add [column] 字段名 字段类型 字段属性;
删: alter table 表名 drop 字段名
改:alter table 表名 change 原字段名 新字段名 新字段类型 新字段属性;
查看表:show tables;
查看表结构:desc 表名;
5、视图的是啥,视图的增删改查
视图可以看作是一个‘临时存储的数据所构成的表(非真实表)’,它的本质就是一个select语句
增:
create view 视图名 [(列名1,列名2,...)] as 一条复杂select语句;
可以将select语句所取得的列重新命名,但也可以不重新命名,则使用select语句中的给定列名。
删:
drop view [if exists] 视图名;
改:
alter view 视图名 [(列名1,列名2,...)] as select语句;
查:
其实就是当作一个查询表来用(通常只用于select)
select * from 视图名 where 条件 order by .....。
6、索引和约束
索引是一个‘内置表’,该表的数据是对某个真实表的某些字段的数据做了排序之后的存储形式
作用;极大的提高了表查找数据的速度,同时也降低了增删改的速度
约束就是一种限定数据以符合某种要求的形式(机制)
比如特殊的外键约束
外键:设定某个字段的值必须来源于另一个表中某个主键字段的值
语法形式:
foreign key (字段名1,字段名2, .... ) references 表名2(字段名1,字段名2, .... )
说明:对某些个字段设定外键,则其相对应的其他表的对应字段需要设定为主键