1.mysql数据库介绍------------关系型数据库RDBMS
特点:
数据以表格的形式出现;每行是各种记录名称;每列是记录名称所对应的数据域;许多行列组成一张表单;若干表单组成一个database
相关术语:
数据库: 是一些关联表的集合
数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格
列: 一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。
行: 一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据
冗余: 存储两倍数据,冗余降低了性能,但提高了数据的安全性
主键: 主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据
外键: 外键用于关联两个表
复合键: 复合键(组合键)将多个列作为一个索引键,一般用于复合索引
索引: 使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。
2.验证mysql安装是否成功
mysqladmin --version
3.使用 MySQL Client(mysql客户端) 执行简单的SQL命令
启动MySQL 数据库:
net start mysql57
关闭MySQL 数据库:
net stop mysql57
通过以下命令来连接到Mysql数据库:
mysql -u root -p
退出 exit
4.管理MySQL数据库的命令:
选择要操作的Mysql数据库,使用该命令后所有Mysql命令都只针对该数据库:
use 数据库名;
列出MySQL数据库管理系统的数据库列表:
SHOW DATABASES;
显示指定数据库的所有表,使用该命令前需要使用use命令来选择要操作的数据库:
use 数据库名;
SHOW TABLES;
显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息:
SHOW COLUMNS FROM 数据表名;
显示数据表的详细索引信息,包括PRIMARY KEY(主键):
SHOW INDEX FROM 数据表名;
输出Mysql数据库管理系统的性能及统计信息
SHOW TABLE STATUS from 数据库名; # 显示数据库 xxx 中所有表的信息
SHOW TABLE STATUS from 数据库名 LIKE '数据表名%'; # 以数据表名xxx为开头的表信息
SHOW TABLE STATUS from 数据库名 LIKE '数据表名%'\G; # 加上 \G,查询结果按列打印
5.创建mysql数据库
CREATE DATABASE 数据库名;
6.MySQL 删除数据库
drop database 数据库名;
7.MySQL 选择数据库
mysql -u root -p
use 数据库名;
8.MySQL 数据类型
MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。
数值类型
这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。
日期和时间类型
表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。
字符串类型
字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET
9.MySQL 创建数据表
创建MySQL数据表需要以下信息:表名、表字段名、定义每个表字段
mysql -u root -p
use 数据库名;
CREATE TABLE 数据表名=(
-> runoob_id INT NOT NULL AUTO_INCREMENT,
-> runoob_title VARCHAR(100) NOT NULL,
-> runoob_author VARCHAR(40) NOT NULL,
-> submission_date DATE,
-> PRIMARY KEY ( runoob_id )
-> )ENGINE=InnoDB DEFAULT CHARSET=utf8;
10.删除数据表
DROP TABLE 数据表名 ;
11.插入数据
INSERT INTO 数据表名 ( field1, field2,...fieldN )
VALUES
( value1, value2,...valueN );
例如:
INSERT INTO runoob_tbl
-> (runoob_title, runoob_author, submission_date)
-> VALUES
-> ("学习 PHP", "菜鸟教程", NOW());
12.查询数据
select * from 数据表名;
13. MySQL WHERE 子句------有条件地从表中选取数据
SELECT * from 数据表名 WHERE runoob_author='菜鸟教程';
MySQL的WHERE 子句的字符串比较是不区分大小写的。你可以使用 BINARY 关键字来设定 WHERE 子句的字符串比较是区分大小写的。
SELECT * from 数据表名 WHERE BINARY runoob_author='RUNOOB.COM';
14.UPDATE 语句
UPDATE 数据表名 SET runoob_title='学习 C' WHERE runoob_id=3;
15.DELETE 语句
DELETE FROM 数据表名 WHERE runoob_id=3;