网站推广.NET

网站推广.NET

mysql数据库快速入门基础学习(经典教程)

来源:互联网

本文是学习mysql数据库的基础入门知识,包括常用的操作命令,学习mysql数据库这些知识点是必须要掌握的,收藏下来有备无患,首先开始接受启动mysql服务,然后连接mysql数据库有两种方式方式1:进入mysql命令行, 在命令行中输入密码;  方式2:在运行窗口中;下文有详细讲解。

如何启动MySQL服务?

对于如何启动MySQL服务?除了可以在安装的时候勾选随着开机自启动,还可以在运行 

窗口(windows)为例子,输入以下内容:

net start 命令名字:开启一个服务,如:net start MySQL
net stop  命令名字:关闭一个服务器,如:net stop MySQL

连接MySQL数据库有两种方式:

方式1:进入MySQL命令行, 在命令行中输入密码;  
方式2:在运行窗口中:
格式:mysql -u账户 -p密码 -h数据库服务器安装的主机的ip(如果是本机可以使用localhost) -P数据库端口
mysql -uroot -padmin -h127.0.0.1 -P3306
上面假设我的账号是root 密码是admin
若连接的数据库服务器在本机上,并且端口是3306。
则可以简写: mysql -uroot -padmin

Navicat for MySQL

Navicat for MySQL[1] 其实就是MySQL 的可视化工具,是一款强大的 MySQL 数据库管理和开发工具,它为专业开发者提供了一套强大的足够尖端的工具,但对于新用户仍然易于学习。Navicat for MySQL 基于Windows平台,为 MySQL 量身订作,提供类似于 MySQL 的用管理界面工具。此解决方案的出现,将解放 PHP、J2EE 等程序员以及数据库设计者、管理者的大脑,降低开发成本,为用户带来更高的开发效率。

数据库操作和存储引擎

数据库对象:存储,管理和使用数据的不同结构形式,如:表、视图、存储过程、函数、触发器、事件、索引等。

数据库:存储数据库对象的容器。

数据库分两种:
  1):系统数据库(系统自带的数据库):不能修改
       information_schema:存储数据库对象信息,如:用户表信息,列信息,权限,字符,分区等信息。
       performance_schema:存储数据库服务器性能参数信息。
       mysql:存储数据库用户权限信息。
       test:任何用户都可以使用的测试数据库。

2):用户数据库(用户自定义的数据库):一般的,一个项目一个用户数据库。

常用的操作命令:

查看数据库服务器存在哪些数据库:
SHOW  DATABASES;
使用指定的数据库:
USE database_name;
查看指定的数据库中有哪些数据表:  
SHOW TABLES;
创建指定名称的数据库:
CREATE DATABASE database_name;
删除数据库:
drop DATABASE database_name;

注意:;是必须的,不然不会正确显示

MySQL的存储引擎

MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供不同的功能和能力。
通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。

MyISAM:拥有较高的插入,查询速度,但不支持事务,不支持外键。
InnoDB:支持事务,支持外键,支持行级锁定,性能较低。

InnoDB 存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但对比MyISAM,处理效率差,且会占用更多的磁盘空间以保留数据和索引。

MySQL常用列类型

最常用的整数类型:
MySQL列类型                  Java数据类型
INT/INTEGER:                         int/Integer
BIGINT:                                    long/Long

MySQL 以一个可选的显示宽度指示器的形式对 SQL 标准进行扩展,这样当从数据库检索一个值时,可以把这个值加长到指定的长度。
例如,指定一个字段的类型为 INT(6),就可以保证所包含数字少于 6 个的值从数据库中检索出来时能够自动地用空格填充。
需要注意的是,使用一个宽度指示器不会影响字段的大小和它可以存储的值的范围。一般不用指定位宽。
age  int(2),并不是代表age最多存储99,而是指查询age值得时候使用两个0来占位.

FLOAT[(s,p)]   :
DOUBLE[(s,p)]  : 小数类型,可存放实型和整型 ,精度(p)和范围(s)
                 money double(5,2): 整数和小数一共占5位.其中小数占2位,最大值:999.99,最小-999.99.
                 都不够精确。
定点数据类型: DECIMAL,高精度类型,金额货币优先选择。

MySQL列类型               Java数据类型
FLOAT                        float/Float
DOUBLE                    double/Double
DECIMAL                   BigDecimal

char(size)    定长字符,0 - 255字节,size指N个字符数,若插入字符数超过设定长度,会被截取并警告。
varchar(size)        变长字符,0 - 255字节,从MySQL5开始支持65535个字节,若插入字符数超过设定长度,会被截取并警告。
一般存储大量的字符串,比如文章的纯文本,可以选用TEXT系列类型。
注意:在MySQL中,字符使用单引号引起来。 相当于Java中字符串(String,StringBuilder/StringBuffer);

日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。
注意:在MySQL中,日期时间值使用单引号引起来。 相当于Java中Date,Calender。

BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB:
存放图形、声音和影像,二进制对象,0-4GB。
但是,在开发中,我们一般存储二进制文件保存路径的路径存储在数据库中。
BIT:我们一般存储0或1,存储是Java中的boolean/Boolean类型的值。

表的操作

1.先进入某一个数据库.(使用USE database_name;命令)
2.输入建表的命令:
CREATE TABLE 表名(
  列名1    列的类型   [约束],
  列名2    列的类型   [约束],
  ….
  列名N    列的类型   约束
);
注意:最后一行没有逗号

若在建表中使用到了数据库的关键字.
比如新建一张订单表:(order),但是order是数据库中的关键字(排序使用).
表名:t_order,若费用使用order这个单词.此时使用反引号()括起来,order`.
一般,起表名为:t_名字。

例子:创建一张表

创建一张学生信息表,记录学生的id,name,age.CREATE  TABLE   `t_student`(         `id `         bigint,         `name `  varchar(20),         ` age `     int);

查看表结构:
DESC table_name;
查看表的详细定义(显示表的定义SQL语句):
SHOW CREATE TABLE table_name;
删除表:
drop TABLE table_name;

表的约束(针对于某一列):

1.非空约束:NOT NULL,不允许某列的内容为空。
2.设置列的默认值:DEFAULT。
3.唯一约束:UNIQUE,在该表中,该列的内容必须唯一。
4.主键约束:PRIMARY KEY, 非空且唯一。
5.主键自增长:AUTO_INCREMENT,从1开始,步长为1。
6.外键约束:FOREIGN KEY,A表中的外键列. A表中的外键列的值必须参照于B表中的某一列(B表主键)。

主键设计,唯一标识某一行数据的:
1:单字段主键,单列作为主键,建议使用。
     复合主键,使用多列充当主键,不建议。
2:主键分为两种:
  1).自然主键:使用有业务含义的列作为主键(不推荐使用),比如身份证号码;
  2).代理主键:使用没有业务含义的列作为主键(推荐使用);

相关文章:

mysql 基础命令入门学习_MySQL

mysql数据库学习笔记之常用操作命令_MySQL

相关视频:

数据库mysql视频教程

数据库学习入门