mysql安装启动

1. centos安装mysql,联网输入命令(还有其他安装方式,如源码和rpm包)

安装成功后:


注:在root用户下

2.启动mysqld(server), 可以看出mysql server网络部分是基于tcp的,推测出mysql是可以在本地使用,可以跨网络(这里就不写跨网络的了)

注:这里password可以设置为空。

创建用户与授权

1.创建用户

:CREATEUSER'username'@'host'IDENTIFIEDBY'password';


2.授权

说明: privileges - 用户的操作权限,如SELECT , INSERT , UPDATE等。如果要授予所的权限则使用ALL.;databasename - 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*。

GRANTprivilegesONdatabasename.tablenameTO'username'@'host';

3.设置与更改用户密码

SETPASSWORDFOR'username'@'host'=PASSWORD('newpassword');如果是当前登陆用户用SETPASSWORD=PASSWORD("newpassword");

例子: SET PASSWORD FOR'pig'@'%'= PASSWORD("123456");

4.撤销用户权限

REVOKEprivilegeONdatabasename.tablenameFROM'username'@'host';

说明: privilege, databasename, tablename - 同授权部分

5.删除用户

DROPUSER'username'@'host';

基本概念

RDBMS [关系数据库管理系统(Relational Database Management System)]

RDBMS的一些术语:

数据库:数据库是一些关联表的集合。.

数据表:表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。

列:一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。

行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。

冗余:存储两倍数据,冗余可以使系统速度更快。

主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。

外键:外键用于关联两个表。

复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。

索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。

参照完整性:参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。

mysql 常见操作

1. 进入本地数据库(测试)

2. 显示当前数据库并创建/删除数据库

showdatabases;


注:分号不能少

创建并显示:

createdatabase"";

删除并显示:

命令:drop databases "";


3. 查看选定数据库表信息(建表)

例子:创建一个菜单,分别有日期(主键),早餐,午餐,晚餐。

CREATETABLEtable_name(column_namecolumn_type);

显示表:

4.插入数据MySQL 表中使用INSERT INTOSQL语句来插入数据。

例子:在表中插入8-1到8-4早中晚的主餐。

INSERTINTOtable_name(field1,field2,...fieldN)VALUES(value1,value2,...valueN);

插入结果显示:

5.查询指定记录

SELECTfield1,field2,...fieldNtable_name1,table_name2...[WHEREClause][OFFSETM][LIMITN]

6.where语句

SELECTfield1,field2,...fieldNFROMtable_name1,table_name2...[WHEREcondition1[AND[OR]]condition2.....


7.修改数据

UPDATEtable_nameSETfield1=new-value1,field2=new-value2[WHEREClause]

8.删除数据

DELETEFROMtable_name[WHEREClause]

例子:删除晚餐是apple的记录


9.LINK子句

它是是从表中读取数据的基本语法,与where的“=”类似。

SELECTfield1,field2,...fieldNtable_name1,table_name2...WHEREfield1LIKEcondition1[AND[OR]]filed2='somevalue'

10.MySQL排序

如果我们需要对读取的数据进行排序,我们就可以使用MySQL的 ORDER BY 子句来设定你想按哪个字段哪中方式来进行排序,再返回搜索结果。

SELECTfield1,field2,...fieldNtable_name1,table_name2...ORDERBYfield1,[field2...][ASC[DESC]]

例子:按照降序排列(注:DESC的ASC分别表示降序和升序)