前言:本文为在ubuntu系统下使用mysql数据库,mysql 版本为:Ver 14.14 Distrib 5.5.43
(mysql版本可在命令行中输入mysql --version显示)
一.mysql简介
mysql是一个开源的关系型数据库。所谓关系型数据库,就是以表的形式存储数据内容,特点是结构清晰规范,但灵活性较差。
二.安装mysql
命令行中输入:
(1) sudo apt-get install mysql-server
(2) sudo apt-get install mysql-client
安装过程中会提示设置root的密码,设置好即可完成安装。
三.mysql使用方法
0.语法简介
(1).mysql中,命令语句不区分大小写。但数据库名,表项名,属性名在linux中区分大小写。
(2).用分号表示一条命令的结束
1.登录mysql
命令行中输入 mysql -u root -p 回车
输入安装时设定的密码,出现: mysql> 说明登录成功。
2.基本语法
(1)创建及插入
创建数据库(仅root有创建数据库的权限) create database DB;
创建表项 create table tab(`name` varchar(10),`age` int);
在当前use的数据库下创建名为tab的表,含有name,age两个属性。格式为:`属性名` 类型,以逗号分隔。注意此处的符号是键盘左上角的‘~键’,而非引号。`属性名`两侧的符号作用是与保留字区分。意思是,如果名字与保留字不冲突,可以不写``,但如果与保留字冲突,系统分不清是属性名还是保留字,不写``则会报错。
向表中插入数据 insert into tab values('Koala',1);
在已存在表中新建列 alter table `tab` add column `url` varchar(500)
(2)使用
查看数据库 show databases;
显示当前使用的数据库中的表项 show tables;
使用数据库 use DB;
显示表项中的属性值 describe tab;
显示表中name项的内容 select name from tab;
选出name属性值为Koala的项 select * from tab where `name`=`Koala`;
显示表中存储的数据总数 select count(*) from tab;
(3)删除
清空表 truncate table tab;
删除数据库 drop database DB;
删除表 drop table tab;
3.改变编码方式
由于mysql默认的编码方式不支持中文,输入中文会出现乱码,需要在建数据库和建表的时候设置编码方式为unicode。
create database `DB` character set 'utf8' collate 'utf8_general_ci';
create table tab (`name` varchar(10),`age` int)default charset='utf8';
collate为校对规则,用于规定筛选信息时选出的内容。通常设置为utf8_general_ci即可。
校对规则具体请参看 http://www.jb51.net/article/30865.htm
查看表的编码方式 show create table tab;
4.更改用户
root拥有操作数据库的最高权限,使用root登录未免不大安全。为了保证安全性,我们创建新用户。
(1).创建用户
insert into mysql.user(Host,User,Password) values("localhost","dev",password("123"));
这就创建了一个名为dev,密码为123的用户。
flush privileges
刷新系统权限表,如不写这条命令,会发现刚刚新建的用户无法登录。
(2).赋予用户操作某个数据库的权限 grant all privileges on DBname.* to dev@localhost identified by '123';
(3).撤消用户权限 revoke all on DBname.* from dev@localhost;
(4).删除用户 drop user dev@localhost;
5.导入与导出
(1)导出 mysql -u root -p DBname > PATH/DBname.sql
(2)导入 mysql -u root -p DBname < PATH/DBname.sql