MySQL安装及基础使用
来源:互联网 发布:ubuntu 打开anaconda 编辑:程序博客网 时间:2024/04/30 10:30
安装及配置
Windows系统下可以使用XAMPP软件;Mac OS自带 Apache和PHP,只需要安装MySQL即可使用。在Mac OS 10.10 (Yosemite)下安装MySQL后没有反应,需要在命令行界面启动。
$ /usr/local/mysql/support-files/mysql.server start
这里需要注意需要使用root来完成MySQL的启动。启动完成后,如果遇到2002 MySQL socket error,这是因为MySQL默认socket位于/tmp,而MacOS总是在/var/mysql中查找,在/var/mysql中添加/tmp/mysql.sock的链接就可以了(升级至10.11(EI capitan)后不再发生这个问题)。
$ ln -s /tmp/mysql.sock /var/mysql/mysql.sock
第一次使用设置root 密码:
$ /usr/local/mysql/bin/mysqladmin -u root password ‘Your Password’
将MySQL路径添加至环境变量,然后进入MySQL操作界面:
$ mysql -u Username -p
以root身份进入MySQL之后,删除匿名用户和仅供测试用的数据库:
mysql> use mysql
mysql> delete from user where User=”;
mysql> quit
$ mysqladmin -u root -p reload
这种情况下对MySQL的操作都是以命令行形式展示,如果想可视化操作,可以下载MySQLWorkbench软件进行辅助。
基础使用
在安装完成之后,登陆mysql:
$ mysql -h hostname -u username -p
-h 指定运行MySQL服务器的主机;
-u 登陆用户名;
-p 使用密码登陆
登陆之后可以进行一些简单使用,如查看可使用数据库,创建数据库,添加用户,设置用户权限等等。
基础概念
关系数据库管理系统(Relational DataBase Management System, RDBS)是最常用的数据库类型。在使用RDBS时并不需要了解关系理论,但是需要了解基本概念,这是正确高效使用RDBS的基础。
数据的关系在RDBS中有点像R里面的数据,这大概是应为二者的设计都是以现实生活为基础,想象一下生活中实际的表的形式,表由很多行和列交织组成,数据按照不同的组织方式而被称为行或者列,称为行时,这组值共同构成一个观测(或叫记录、元组),代表一件事物或者个体,不同的列分布展现不同的属性。在RDBS中:
表格即关系
关系数据库由关系组成,这些关系通常称为表格。
列为属性
表中的每一列都有唯一的名称,包含不同的数据,有时候列也被称为域。
键
表中的标识列成为键或者主键,一个键可能由几列组成。通常数据库中会有很多表格,不同表格之间可以使用键来进行引用,所以为了区分这种情况,当一张表中的主键在其他表中出现时被称为外键。外键表示两个表格数据的关系,关系数据库中有3种最基本的关系类型,“一对一”,“一对多”和“多对多”。
用户和权限
MySQL的用户与Linux系统中的用户有所区别,在MySQL中用户是“依赖”文件而存在的,在创建用户时也是以赋予对某文件的操作权限来实现。根据权限的范围可以分为4个级别,依次为全局,数据库,表和列,每一级别又有不同的操作权限。用户的创建及权限赋予命令为grant,语法如下:
grant privileges [columns]
on item
to user_name [identified by ‘password’]
在mysql使用show databases命令可以看到mysql中有information_schema, mysql, performance_schema和test四个database,这些数据库本身起着控制和管理mysql的作用,在mysql database中有着用户权限,系统信息等各种表格,在mysql database的user表中可以看到有Host, User, Password, 各种权限(privilege)以及其他操作权限。
删除用户也是在user表中删除User和Host就可以了,需要注意的是在删除用户之前需要把用户具有的各种权限都删除掉。
Web数据库的设计
Web数据库的构架
模式和内容
模式是指数据库整套表格的完整设计,是数据库的设计蓝图,一个模式应显示表格及表格的列,每个表的主键和外键,但是并不会包含任何数据。
一般情况下可以随意更改数据库中表格内容,但是不会更改数据库的模式。
MySQL的使用-模式创建
创建数据库
mysql> create database dbname;
创建数据库表
想要对数据库内的数据进行创建首先要正确地使用数据库
mysql> use dbname;
mysql> create table tablename (column1, column2, column3);
创建索引
create index这个命令为某列添加索引来改善性能。
创建数据库和表之后,可以查看创建结果
mysql> show databases;
mysql> show tables;
mysql> describe tablename;
show语句变体有30多种,可以查看各种信息,除此之外还有explain语句。explain语句查看表信息时类似describe或者show,在普通语句之前使用explian可以查看MySQL解释并执行过程的。
创建用户
在MySQL中核心为数据,用户也是围绕数据进行创建,修改和删除。
mysql> grant privileges [columns]
> on item
> to user_name [identified by ‘password’]
> [require ssl_options]
> [with [grant option | limit_option];
普通用户的权限有8种权限,分别为select, insert, update, delete, index, alter, create和drop。可以看出是对数据查询、修改、删除、创建等操作。管理用户还有其他权限grant, create temporary tables, file, lock tables, process, reload, replication client, replication slave, show database, shutdown和super等权限。
除使用grant命令外,还可以直接修改mysql这个数据库中对应权限的表以实现权限更改问题。
对应于grant,删除用户的权限需要使用revoke命令。
mysql> revoke privileges [(columns)]
> on item
> from user_name
MySQL的使用-内容的操作
在完成模式创建之后就确定了数据库的构架,即相关表格已经创建完成,每一个表格每一列所对应的意义已经确定。在此基础上可以对表格进行填充,查询和删除等操作。
完成数据库和数据表的创建之后,还需要对这些表格进行填充数据。实现这一目的的命令为insert。
mysql> INSERT [into] table [(column1, column2, column3,...)] VALUES> (value1, value2, value3,...);
当要导入的数据非常多时,使用脚本来生成一个.sql文件,然后导入到MySQL不失为一个有效的办法。
对数据库进行的最多操作是对数据库数据的访问,select命令实现这一目的。
mysql> SELECT [options] item> [INTO file_details]> FROM table> [WHERE conditions]> [GROUP BY group_type]> [HAVING where_definition]> [ORDER BY order_type]> [LIMIT limit_criteria]> [PROCEDURE proc_name(arguments)]> [lock_options];
后面跟随的where等选项可以设置查询需要满足的条件,使得准确选择出符合要求的数据。对于单个表可以用这种方式实现查询操作,但事实上由于数据分为多个表格存放,往往需要查询多个表中的数据才可以得到正确合适的数据,将不同表格中信息放在一起必需执行一个名为“关联” 的操作。关联意味着需要根据数据间的关系将两个或多个表关联到一起。
关联类型有:
从上表可以看出,关联关系有4种:1,不加限制的将所有可能都列出来(完全关联);2,设置一个条件,但条件限制在同一个表内的数据(内部关联);3,设置条件,条件为不同表间的行(等价关联);4,查找不同的行(左关联,右关联)。
有时候一次查询不能满足要求,这种情况下需要使用子查询。子查询即一个嵌套在另一个查询内部的查询。大多数的子查询功能可以通过连接和临时表的使用来实现,但是子查询通常更容易阅读和编写。
子查询一般有普通子查询,关联子查询,行子查询和使用子查询作为临时表几种用法。
更新/更改数据
mysql> update tablename set column1=expression1, column2=expression2, ...
修改表
mysql> alter table tablename alteration
删除记录,删除表格甚至删除数据库
mysql> delete from table
mysql> drop table table;
mysql> drop database database;
数据库非常重要的问题是对于数据库的优化和安全问题,其中安全问题包括防止入侵,数据库的备份、复制和恢复等等。
MySQL的高级编程
包括从外部文件载入表数据,存储引擎,事务和存储过程。
存储引擎有时也称作表格类型, 常见的表格类型有: MyISAM, MEMORY, MERGE, ARCHIVE, CSV 和InnoDB.
- MySQL安装及基础使用
- Mysql安装及使用
- MySQL安装及使用
- mysql的安装及使用
- mysql安装使用及编程
- debian安装及使用mysql
- debian安装及使用mysql
- mysql安装及使用实例
- mysql 数据库安装及使用
- MySQl windows 安装及使用
- Fedora安装MySQL及使用
- debian安装及使用mysql
- MySql安装及使用记录
- 数据库-MySQL安装及使用
- centOS7安装mysql及使用
- Ubuntu安装MySQL及MySQL基本使用
- MySQL基础入门—SQL介绍及MySQL的安装
- centos 安装 docker 及基础命令使用
- UIControl
- Linux下调整根目录的空间大小
- Ajax请求后页面刷新问题
- KSum问题
- 全选checkbox实例
- MySQL安装及基础使用
- AJAX 前后台数据交互
- HDU 2612
- 让ul中的li变成横向排列
- jquery.scrollLoading-min.js实现图片延迟加载
- cognos report studio 查询列的预排序
- 通过正则表达式 判断给定的字符串是不是符合要求
- 创建canvas
- JS前端下载文件