一、‘安装
安装:
sudo apt-get install mysql-server
如果安装有问题可以使用指令卸载冲突
sudo apt-get -f install
如果卸载不彻底可以使用以下指令卸载
sudo apt-get autoremove --purge <包名>
如:sudo apt-get autoremove --purge mysql-common
二、配置
配置
sudo mysql_secure_installation
VALIDATE PASSWORD PLUGIN can be used to test passwords...
Press y|Y for Yes, any other key for No: n (密码强校验)
Press y|Y for Yes, any other key for No: n (设置管理员密码)
Remove anonymous users? (Press y|Y for Yes, any other key for No) : n (移除匿名用户)
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : n (禁止管理员远程登录)
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : n (删除test数据库)
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y (修改立即生效)
Success.
All done!
查看服务状态
systemctl status mysql.service
使用root用户登录
sudo mysql -uroot
mysql>exit (使用exit退出mysql)
创建用户
create user 'tom'@'%' identified by '123456';
% 表示没有IP地址限制
给用户分配权限
grant all privileges on *.* to 'tom'@'%';
安装MySQL workbench 图形化工具
三、使用
1、指令
查看已创建数据库:
show databases;
创建数据库:
create database mdb;
删除数据库:
drop database mdb;
选择数据库:
use mdb;
数据类型参考:
https://www.runoob/mysql/mysql-data-types.html
创建数据表:
CREATE TABLE mtablename(data1name data1type, data2name data2type);
如:CREATE TABLE mtb(id INT PRIMARY KEY AUTO_INCREMENT, name TEXT); #id设置为主键且自增长
修改数据表数据项
删除
ALTER TABLE mtablename DROP i;
添加
ALTER TABLE mtablename ADD i INT;
修改
ALTER TABLE mtablename MODIFY c CHAR(10);
删除数据表:
DROP TABLE mtablename;
插入数据:
INSERT INTO mtablename
->(data1name, data2name)
->VALUES
->(data1, data2);
#自增主键设置为0或者NULL
查询数据:
SELECT * from mtablename WHERE data1name=1;
更新数据:
UPDATE mtablename SET data2name='xiao wang' WHERE data1name=1;
删除数据:
DELETE FROM mtablename WHERE data1name=2;
如果遇到MySQL workbench 无法删除数据,使用为有安全保护
workbench -> preference -> SQL Editor -> 取消勾选 Safe Updates -> 重启workbench即可
查询两张表的笛卡尔积
SELECT * FROM tb1 CROSS JOIN tb2;
使用内连接查询
SELECT t1.data1, t2.data2 FROM tb1 t1 INNER JOIN tb2 t2 ON t1.data1=t2.data2;
使用外连接查询
左连接: tb2在tb1中没有查到相应项填充NULL
SELECT t1.name,t2.num FROM tb1 t1 LEFT OUTER JOIN tb2 t2 ON t1.courseID=t2.id;
有连接: tb1在tb2中没有查到相应项填充NULL
SELECT t1.name,t2.num FROM tb1 t1 RIGHT OUTER JOIN tb2 t2 ON t1.courseID=t2.id;
子查询
SELECT name FROM tb1 WHERE id IN(SELECT num FROM tb2 WHERE id=1);
参考链接:MySQL 教程 | 菜鸟教程
更多推荐
MySQL安装与使用
发布评论