linux下MySQL基础

MySQL安装:
yum install -y mysql-server
启动MySQL服务:
service mysqld start
设置MySQL的root用户密码:
mysqladmin -u password '********'
连接到本机的MySQL服务:
mysql -u(用户) root -p(密码验证)
chkconfig mysqld on 计算机启动时自动启动
配置文件保存在 /etc/my.cnf
数据库文件保存在 /var/lib/mysql
创建mysql文件:
CREATE DATABASE filenam;
日志保存在 /var/log/mysqld.log
mysql使用TCP协议,默认端口3306
查看监听接口:
natstat -tupln


远程登陆mysql:
mysql -h localhost(或其他IP地址) -u root -p
MySQL使用SQL语言进行管理,几乎所有SQL语句都必须以‘ ;’结尾,大小写不敏感
列出所有数据库:
SHOW DATABASES;
创建一个数据库:
CREATE DATABASE FILENAME;
删除一个数据库:
DROP DATABASE FILENAME;
切换到一个数据库:
USE FILENAME;


SQL(Structured Query Language)结构化查询语言
Data Definition Language(DDL)数据库定义语言:
CREATE  DATABASE  在数据库中创建对象 
ALTER   DATABASE  修改数据库
CREATE  TABLE      创建新表    
ALTER   TABLE      变更数据库表
DROP    TABLE      删除表
CRAET   INDEX      创建索引
DROP    INDEX      删除索引
RENAME             重命名对象
Data Manipulation Language (DML) 数据操作语言:
SELECT         从数据库中获取数据
INSERT INTO    向数据库中删除数据
UPDATA         更新数据库中的数据
DELETE         从数据库表中删除数据
Data Control Language (DCL) 数据控制语言:
GRANT
REVOKE
Transaction Control (TCL)  
COMMT
SAVEROINT
ROLLBACK


数据库是以表格的形式保存
创建表格:
CREATE TABLE 表格名称

列名称1 数据类型,
列名称2 数据类型,
···
);
查看表格:
SHOW TABLES;
查看一个表格结构:
DESCRIBE 表格名;
重命名一个表:
ALTER TABLE 表名1 RENAME 表名2;
向表中添加一员:
ALTER TABLE 表名 ADD 列名称 数据类型;
删除一列:
ALTER TABLE 表名 DROP COLUMN 列名称;
修改一列的数据类型:
ALTER TABLE 表名 MODIFY 列名称 数据类型;
重命名一个列:
ALTER TABLE 表名 CHANGE COLUMN 列名称1 列名称2 数据类型;
向表格中插入一条记录:
INSERT INTO 表名称 VALUES(值1,值2,值3,···),(···);
INSERT INTO 表名称(列1,列2) VALUE(值1,值2),(···);
查询记录:
SELECT *FROM 表名;
SELECT 列名1,列名2,···FROM 表名;
按条件查询记录:
SELECT 列名称 FROM 表名 WHERE 列 运算符 值;
删除一条记录:
DELETE FROM 表名 WHERE 列 运算符 值;
DELETE * FROM 表名称;
修改表中的数据:
UPDATA 表名称 SET 列名称=新值 WHERE 列名称=某值;
返回结果删除重复项
SELECT DISTINCT 列名称 FROM 表名称;
WHERE条件逻辑组合:
SELECT * FROM 表名 WHERE 条件1 AND 条件2;
SELECT * FROM 表名 WHERE 条件1 OR  条件2;
对查询结果进行排序:
SELECT * FROM 表名 ORDER BY 列名称;(正序)
SELECT * FROM 表名 ORDER BY 列名称 DESC;(倒序)


MySQL用户管理
用户信息保存在./var/lib/mysql/ 中mysql数据库的user表中
创建一个新的用户:
CREATE USER 用户名 IDENTIFIED BY "密码";
用户名:
DROP USER 用户名;
重命名用户名:
RENAME USER 原用户名 TO 新用户名;
修改当前用户密码:
SET PASSWORD=PASSWORD("新密码");
修改指定用户密码:
SET PASSWORD FOR 用户名=PASSWORD("新密码");


MySQL权限系统
权限控制两个阶段:
检查用户是否能够连接、检查用户是否具有所执行动作的权限
权限层级:
全局层级、数据库层级、表层级、列层级、子程序层级
GRANT授予权限、REVOKE撤销权限
授予一个用户权限:
GRANT ALL PRIVILEGES ON 层级 TO 用户名@主机名 IDENTIFIED BY "密码";
如:GRANT ALL PRIVILEGES ON *.*(文件.* ,表示该文件下的所有内容) to ‘nash_su’@’%’ identified by ‘linuxcast’
撤销一个用户权限:
REVOKE ALL PRIVILEGES FROM 用户名;
主机形式:
所有主机:%
精确的主机或IP地址:www.baidu.com 或 192.168.1.1
使用“*”通配符:*.baidu.com
指定同一网段: 192.168.1.0/255.255.255
root用户默认只能从本机登陆


MySQL备份数据
备份一个指定数据库:
mysqldump -u root -p 数据库名称 > 备份文件.sql
恢复一个指定数据库:
mysql -u root -p 数据库名称 < 备份文件.sql


编码主要影响:
数据库保存相同内容所占用的空间大小、数据库与客户端通信
查看MySQL支持的编码:
SHOW CHARACTER SET;
编码属性:
character set
collation
查看MySQL当前使用的编码:
SHOW VARIABLES LIKE "characrer_set%"
SHOW VARIABLES LIKE "collation%"
创建数据库时指定编码:
CREATE DATABASE 数据库名 DEFAULT CHARACTER SET 编码(如utf8)DEFAULT COLLATION 编码;
修改一个数据库的编码:
ALTER  DATABASE 数据库名 CHARACTER SET 编码 COLLATION 编码;
设置MySQL默认编码:./etc/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
default-character-set = utf8    
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值