数据库结构图
+--------------------DataBase----------------------+ |
MySQL安装
配置 mysql 用户密码
mysql 配置文件一般位于:
/etc/my.cnf
文件.(也有可能没有,需要手动添加)mysql 数据库文件位于:
/var/lib/mysql/
文件夹内.其中mysql/
、test/
为mysql自带的数据库文件. 用户每建一个数据库此处都会对应一个数据库文件夹.mysql 日志文件:
/var/log/mysqld.log
mysql 默认端口为
3306/TCP
( $netstat可查看)
MySQL管理
- 创建mysql用户:
mysql> CREATE USER 用户名 IDENTIFIED BY ‘密码’ ; |
- 删除/重命名 mysql用户:
mysql> DROP USER 用户名 ; |
- 修改用户密码:
mysql> SET PASSWORD = PASSWORD('新密码') ; -- 修改当前用户密码 |
- Mysql 用户授权
|
层级:
- 全局
*.*
- 数据库层级
DB_Name.*
- 表层级
- 列层级
- 子程序层级
2-MySQL权限管理基础_20141028161127.JPG
- MySQL数据的导入/导出
$mysqldump -u root -p DB_Name > Backup.sql -- 数据库的导出备份 |
MySQL数据编码
MySQL默认编码为:
character set : latin1
collation : latin1_swedish_ci
MySQL编码查看命令:
mysql> show character set; --- 查看MySQL所支持的编码格式
mysql> show variables like 'character_set%'; --- 查看当前mysql的编码
mysql> show variables like 'collation%'; --- "collation" 用于指定数据集如何排序,以及字符串的比对规则(http://zhongwei-leg.iteye.com/blog/899227)MySQL编码设置命令:
mysql> create database DB_Name
> default character set utf8
> default collate utf8_general_ci;
mysql> ALTER database DB_Name character set utf8 collate utf8_general_ci;MySQL默认编码设置:
$vim /etc/my.cnf -- 按照如下添加 |
mysql> CREATE DATABASE 数据库名;
mysql> DROP DATABASE 数据库名;
mysql> SHOW DATABASES ;
mysql> RENAME DATABASE 原数据库名 TO 新数据库名 —(此命令已经失效,不能再使用)
mysql> USE DB_Name; – 通告MySQL把 DB_Name 数据库作为默认(当前)数据库使用,用于后续语句
创建表格之前需要事先使用 `USE` 命令设置数据库。
mysql> CREATE TABLE <表名> (
> <字段名1> <类型1> ,
> <字段名2> <类型2> ,
> <字段名3> <类型3>
> );
eg: |
mysql> SHWO TableS;
mysql> ALTER TABLE old_table_name RENAME new_table_name ;
mysql> DROP TABLE Table_Name ;
mysql> DESCRIBE Table_Name ;
或者
mysql> DESC Table_Name ;
##### 2. 向表中添加一列(字段)
mysql> ALTER TABLE table_name ADD 数据列名 类型 其他;
##### 3. 删除表中的列(字段)
mysql> ALTER TABLE table_name DROP COLUMN 数据列名;
mysql> ALTER TABLE table_name MODIFY 数据列名 修改后的类型;
mysql> ALTER TABLE table_name MODIFY 原数据列名 修改后的列名 类型;
mysql> SELECT FROM table_name ; – ‘‘ 表示所有列内的数据
或者
mysql> SELECT 列名1,列名2,列名3 FROM table_name ; – 查询指定列表数据
按条件查询格式:
mysql> SELECT 列(字段)名 FROM 表名 WHERE <表达式> ;
mysql> INSERT INTO 表名 VALUES (值1,值2,值3..);
或者
mysql> INSERT INTO 表名(列1,列2) VALUES (值1,值2) ;
mysql> DELETE FROM 表名 WHERE 表达式 ;
mysql> DELETE * FROM 表名 ; – 删除整个表内数据
mysql> UPDATE 表名 SET 列名=新值 WHERE 条件;’WHERE 条件’ 需要精确匹配,避免误修改其它数据
##MySQL 进阶
##### 1. 删除返回结构中的重复项 (**DISTINCT**)
mysql> SELECT DISTINCT 列名 FROM 表名 ;
##### 2. WHERE 条件中逻辑组合 (**AND & OR**)
eg:
mysql> SELECT * FROM 表名 WHERE 条件1 AND 条件2;
mysql> SELECT * FROM 表名 WHERE 条件1 OR 条件2;
##### 3. 对返回结果排序 (**ORDER BY**)
eg:
mysql> SELECT FROM 表名 ORDER BY 列名;
或者
mysql> SELECT FROM 表名 ORDER BY 列名 DESC ; – DESC 代表倒序
```
—By LuoYe
[QQ:291268775]
2014/10/23