【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
因为工作的需要,利用周末的时间学习了一下数据库。从上学以来,用过的db不算多。除了windows的access和sql server,大概就用过sqlite3和mysql了。至于很多朋友用过的postgresql、oracle,只是大概了解过,没有机会真正实操。所有这些数据库中,用的比较多的大概还是mysql,自从被oracle公司收购以后,mysql在稳定性和性能上有了很大的提升,甚至以前多年的bug都被修正了,很不容易。但是,mysql也分社区版和商业版,这一点要注意一下。
1、mysql资料
网上关于mysql的资料很多,比如这,还有这。如果喜欢视频学习的朋友,可以到麦子学院上面看看,比如这。写这篇blog,只是自己作为一个学习记录,并不一定比这些网上资料要好,而且这篇文章也只是侧重于基础,并无什么特别之处。
2、安装mysql
在ubuntu 14.04上面安装mysql很容易,只需要用apt-get安装即可,比如
sudo apt-get install mysql-server
sudo apt-get install mysql-client
安装过程中,一般会要求你设置mysql的密码,输入一个自己熟悉的密码就可以了。默认安装的mysql版本应该是5.5版本,目前为止最新的版本应该是5.7。建议大家可以从基础版本学起,等到用到mysql高级特性的时候再来学也不迟。另外,一般mysql安装后,server就自动启动起来了,大家可以用命令确认一下,
ps aux | grep mysqld
3、操作mysql
mysql作为一个服务器程序,本身一直是在运行的。所以,我们一般用mysql-client来连接服务器。
mysql -h 127.0.0.1 -u root -p
此时输入密码,即可与mysql服务器进行通讯。当然,用命令来操作mysql,一般是设计数据库、学习数据库或者debug的时候才会用到,平常这些工作都是有具体的编程语言来完成的。
4、创建数据库
create database shop;
use shop;
5、删除数据库
drop database shop;
6、查看数据库
show databases;
7、创建表
create table customer (
uid INT,
name VARCHAR(32),
gender VARCHAR(32)
);
8、删除表
drop table customer;
9、查看表
show tables;
10、查看表中数据
show columns from customer;
select * from customer;
11、带条件查看表中数据
select * from customer where name = 'tom';
12、带条件查看表中数据且排序
select * from customer where gender = 'male' order by uid asc;
13、删除数据
delete from customer where name = 'tom';
14、更新数据
update customer set gender = 'male' where name = 'tom';
15、插入数据
insert into customer(uid, name, gender) values (1, 'jack', 'male');
16、创建db的用户
create user 'admin'@'%' identified by '123456';
17、授予db用户权限
grant all privileges on *.* to 'admin'@'%';
如果允许别人从其他pc上面访问。需要将/etc/mysql/my.conf中的bind-address修改为,
bind-address = 0.0.0.0
同时,重启mysqld,
sudo /etc/init.d/mysqld restart
这样用户就能以admin的名义从其他pc上面访问mysql server了。
18、用脚本创建db
source shop.sql;
19、退出
exit
or
quit
20、后续学习
有了这些命令做基础,基本上mysql就可以用起来了。大家可以在此基础上创建ER图,设计更多的db、更多的表结构,借鉴开源项目的db设计方法,进一步丰富自己的myql知识,并快速地将它用到自己的项目中。