MySQL整理-从安装到建库建表命令

太久没有在博客整理内容了。今天有空搞一搞。

数据库介绍

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。
主流的数据库有:sqlserver,mysql,Oracle、SQLite、Access等。

数据库分类

关系型数据库,mysql、oracle
非关系型数据库,NoSQL 、有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。

NoSQL 数据库分类:
	键-值对存储		Redis,
	文档存储			MongoDB,
	图存储			Neo4J/FlockDB
	列存储			Hbase/Cassandra/Hypertable,
	对象存储 		面向对象存取
	xml数据库		支持xml内部查询语法

MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),
MySQL数据库系统使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。
在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

MySQL安装

大家可以参考这个教程:
https://blog.csdn.net/chic_data/article/details/72286329
里面第二步非必要得我也没执行。也是可以用的
安装中间出现一个问题,中途误操作一个暂停,然后安装界面没了,也不能执行继续安装。
然后报错如下:

only one instanceof mysql installer for windows can be run at a time

解决方法是,在任务管理器卸载MySQL的install,然后对应MySQL的目录也删掉,重新启动电脑,重新点击msi进行安装 。

启动与停止服务命令

net start mysqlname #启动,自己配置的MySQL名
net stop mysql #关闭服务
mysqld -remove #卸载服务

Navicat premium

它是数据库管理工具,是一个可多重连线资料库的管理工具,它可以让你以单一程式同时连线到 MySQL、SQLite、Oracle 及 PostgreSQL 。
MySQL整理-从安装到建库建表命令_第1张图片
这个工具是之前用的,比较清晰的界面,很舒服。具体安装我也忘了,建议各位自行搜索一下。
打开之后进行连接,填写这些:
MySQL整理-从安装到建库建表命令_第2张图片
密码填自己安装的时候设置的。
主机名,如果你的MySQL直接本地就可以localhost,如果要连接远程的,加IP。
然后连接测试一下,不成功的话记得检查一下服务启动情况。

连接与创建库

连接上之后是这样的,下面四个是初始有的。然后boot这个是我自己创建的。
MySQL整理-从安装到建库建表命令_第3张图片
创建自己的库的方式建议使用SQL命令形式,这样便于自己练习,我们可以右击mysql,
MySQL整理-从安装到建库建表命令_第4张图片
可以打开命令列界面,也可以直接导入你写好的SQL

数据库操作
create datebase dbname;

展示库 show databases;
删除库 delete database dbname;
使用库 use dbname;
连接数据库 mysql -u user -p 例:mysql -u root -p
退出连接 quit 或者 Ctrl+D

表的操作
创建表  create table tbname(
			列名  数据类型() 是否为null 默认值? 主键?
			。。。。
		)charset=utf8;

一个实例

	CREATE TABLE `tab1` (
	  `nid` int(11) NOT NULL auto_increment,                   # not null表示不能为空,auto_increment表示自增
	  `name` varchar(255) DEFAULT zhangyanlin,                 # default 表示默认值
	  `email` varchar(255),
	  PRIMARY KEY (`nid`)                                      # 把nid列设置成主键
	) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  • 创建列时可以指定默认值,当插入数据时如果未主动设置,则自动添加默认值;
  • 添加主键,不允许有空值,如果主键使用单个列,则它的值必须唯一,如果是多列,则其组合必须唯一;
  • 添加自增,如果为某列设置自增列,插入数据时无需设置此列,默认将自增(表中只能有一个自增列);
    注意:对于自增列,必须是索引(含主键),对于自增可以设置步长和起始值;
  • ENGINE 设置存储引擎。
整理命令:
查看库中所有表	show tables;
查看表内容		select * from tbname; 
按字段查询		select  字段名1 as A,字段名2 as B from tablename;
结果去重distinct  
				select  distinct 字段名1 from tablename;
利用concat(str1,str2,...)拼接列 
				select  concat(字段名1,字段名2from tablename;
显示表的列信息:  show  colums from 数据表

删除表			drop table tbname;
清空表			delete from tbname;
				truncate table tbname;

修改表
添加列:   		alter table 表名 add 列名 类型
删除列:   		alter table 表名 drop column 列名
修改列:   		alter table 表名 modify column 列名 类型;  
          		alter table 表名 change 原列名 新列名 类型; 

添加主键: 		alter table 表名 add primary key(列名);
删除主键: 		alter table 表名 drop primary key;
          		alter table 表名  modify  列名 int, drop primary key; 

修改默认值:		alter table testalter_tbl ALTER i SET DEFAULT 1000;
删除默认值:		alter table testalter_tbl ALTER i DROP DEFAULT;

添加外键: 		alter table 从表 add constraint 外键名称(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段);
删除外键: 		alter table 表名 drop foreign key 外键名称

插入数据:       insert into tablename(字段1,字段2...) values(1,值2...)
添加索引
-- 1.添加PRIMARY KEY(主键索引):
alter table tableA add primary key(column1)

-- 2.添加UNIQUE(唯一索引) :
alter table tableA add unique(column1)

-- 3.添加INDEX(普通索引) :
-- 写法一:
alter table tableA add index index_name(column1)
-- 写法二:
create index index_name on tableA(cloumn1,column2,column3)
-- 4.添加FULLTEXT(全文索引) :
alter table tableA add fulltext(column1)

-- 5.添加多列索引:
-- 写法一:
alter table tableA add index index_name(column1,column2,column3)
-- 写法二:
create index index_name on tableA(column1,column2,column3)

-- 6.查询表索引
show index from tableA;
-- 7.删除索引
drop index index_name on tableA;

你可能感兴趣的:(数据库,mysql,数据库)