mysql数据库系列(包含概念、数据库,表的基本操作)

一、数据库基本概念

  1. DB : Database(数据库)
  2. DBMS : 数据库管理系统
  3. DBS :数据库系统
  • 计算机硬件、软件
  • DB
  • DBMS
  • DBA(数据库管理员)

数据库的优点:开源、免费、跨平台、性能好、用户多,在许多软件公司中使用

mysql数据库系列(包含概念、数据库,表的基本操作)_第1张图片

mysql数据库系列(包含概念、数据库,表的基本操作)_第2张图片

二、数据库的基本操作

修改密码:mysqladmin -u root -p password 123456<新密码>--->在bin目录下修改

mysql启动和关闭:net start(stop) mysql

查看数据库:show databases;

使用(切换)数据库:use hero1<数据库名>

创建数据库:create database hero1<数据库名>

创建数据库并指定字符集:create database (if not exists) hero1<数据库名>default charset utf8 collate utf8_general_ci;

删除数据库:drop database hero1<数据库名>;

查看存储引擎(mysql存储数据的方式):show engines;--->1.innodb(默认常用)   2.myisam     3.memory

引擎类别

优缺点

适用场合

INNODB

 

支持事务

支持外键

读写速度一般

数据可持久保存

对数据完整性有严格要求的系统

默认使用该引擎

MYISAM

 

不支持事务

不支持外键

数据读写速度快

数据可持久保存

对数据完整性没有要求的系统

要求数据读写速度快并能长久保存

MEMORY

 

不支持事务

不支持外键

读写速度快

数据不能持久保存

数据量不大但读写频繁且不需要长久保存的系统

三.表的操作

创建表  Create table <表名>(<字段名> <字段类型> 约束)[表选项]

              create table table1(id int,name varchar(10)not null);default null;

展示表  show tables;

查看表的字段  desc table1<表名>;



复制表   Create table <表名A> like <表名B>     create table table1 like table2
复制表结构  create table table1 as select * from table2

修改表 

  • 添加字段  alter table table1<表名> add column birth date null<表的字段名的类型>
  • 添加索引  alter table table1<表名> add index idx_table1_name(name)
  • 添加主键  alter table table1<表名> add primary key(id)
  • 创建分类表  create table table_class
  • 添加分类id  alter table table1<表名> add column classid int
  • 添加外键约束  alter table table1 add foreign key fk_table_id(classid) teferences table_class(id)-->外界表
  • 修改字段类型的字段名  alter table table1<表名> change column name tablename varchar(20)
  • 只修改字段类型   alter table  table1<表名>  modify column tablename varchar(30)
  • 设置 / 修改字段约束   alter table  table1<表名>  alter column tablename  set /drop  default 'name'

关键字

说明

ADD COLUMN

添加字段

ADD INDEX

添加索引

ALTER TABLE 10_04 ADD INDEX idx_10_04_f_001 (A)

ADD PRIMARY KEY

添加主键

ALTER TABLE 10_02 ADD PRIMARY KEY (t)

ADD FOREIGN KEY

添加外键

ALTER TABLE 10_02 ADD FOREIGN KEY fk_f_04 (f) REFERENCES 10_04 (t)

CHANGE COLUMN

修改字段名及字段类型

ALTER TABLE 10_04 CHANGE A b CHAR(1)

MODIFY COLUMN

修改字段定义

ALTER TABLE 10_02 MODIFY f SMALLINT

ALTER COLUMN

设置或删除default

ALTER TABLE 10_02 ALTER t DROP DEFAULT

ALTER TABLE 10_02 ALTER t SET DEFAULT 0

ADD FOREIGN KEY

添加外键

ALTER TABLE 10_02 ADD FOREIGN KEY fk_f_04 (f) REFERENCES 10_04 (t)

CHANGE COLUMN

修改字段名及字段类型

ALTER TABLE 10_04 CHANGE A b CHAR(1)

MODIFY COLUMN

修改字段定义

ALTER TABLE 10_02 MODIFY f SMALLINT

ALTER COLUMN

设置或删除default

ALTER TABLE 10_02 ALTER t DROP DEFAULT

ALTER TABLE 10_02 ALTER t SET DEFAULT 0

ADD FOREIGN KEY

添加外键

ALTER TABLE 10_02 ADD FOREIGN KEY fk_f_04 (f) REFERENCES 10_04 (t)

DISABLE KEYS

禁用约束

ALTER TABLE 10_04 DISABLE KEYS

ENABLE KEYS

启用

ALTER TABLE 10_04 ENABLE KEYS

RENAME

修改表名

ALTER TABLE 10_04 RENAME 10_05

RENAME INDEX 

修改索引名

ALTER TABLE 10_02 RENAME INDEX <索引名> to <新索引名>

 

 

 



删除表  drop table

  • 创建索引 Create index <索引名> on <表名1、表名2>(多列字段名)        CREATE INDEX idx_1006_f_001 ON 10_06(f)
  • 创建唯一索引  Create unique index <索引名> on <表名>(字段名)     CREATE unique INDEX idx_1006_f_001 ON 10_06(f)
  • 删除表字段  alter table table<表名> drop column id <字段>
  • 删除主键  alter table table1<表名>drop primary key
  • 删除索引  alter table table1<表名>drop index table_name
  • 删除外界约束  alter table table1<表名>drop foreign key fk_table_id

关键字

说明

DROP COLUMN

删除字段

ALTER TABLE 10_04 DROP b

DROP PRIMARY KEY

删除主键约束

ALTER TABLE 10_02 DROP PRIMARY KEY

DROP index 

删除索引

ALTER TABLE 10_04 DROP INDEX idx_10_04_f_001

DROP FOREIGN KEY

删除外键

ALTER TABLE 10_02 DROP FOREIGN KEY 10_02_ibfk_1



设置表的约束

  • 禁用 / 启用约束  alter table table1 disable /enable keys
  • 修改表名    alter  table table1 rename table2<新表名>
  • 删除表        drop table table1

视图操作---->视图是存储在数据库中的查询的SQL语句
安全原因   ;  简化操作

  • 创建视图    Create view <视图名> as <查询>
  • 查看视图    Show Create view <视图名>
  • 查看视图详细信息     Show table status
  • 查看视图字段      Desc <视图名>
  • 修改视图          ALTER VIEW <视图名> AS <查询>
  • 创建或修改视图        Create or replace view <视图名> as <查询>

使用数据库命令备份(在bin目录下备份)

  • 数据库备份 :Mysqldump –uroot –p123456   -- database   hero1 >e:\hero.sql
  • 数据库恢复 :Mysql –uroot –p123456


实体联系图(E-R图):

ER图:也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。
矩形:表示实体
菱形:表示实体之间的联系
椭圆形:表示实体或联系的属性

第一范式:第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。

第二范式:一是表必须有一个主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。注:这种情况存在于多主键时

第三范式:表中的所有字段都必须依赖于主键,而不依赖于其它字段。
  

 

 

你可能感兴趣的:(mysq,sql数据库,表的操作,E-R图)