MYSQL数据库基础学习笔记
一、mysql的安装与初始化:
安装mysql命令:
yum install -y mysql-server mysql mysql-devel
初始化:
service mysqld start //第一次启动mysqld服务会自动初始化:
创建用户并初始化密码:
mysqladmin -u root passwd ‘密码‘
登陆mysql:
mysql -u root -p
退出mysql:
quit、exit
设置mysqld服务自启动:
chkconfig mysqld on
mysql相关的文件:
/etc/my.cnf mysql的主配置文件;
/var/lib/mysql/:mysql的数据库目录存放位置;
/var/log/mysqld.log:mysqld的日志文件;
mysql默认tcp端口:3306
连接远程mysql服务器:
mysql -h IP -u ID -p //-h参数指定连接地址,默认连接本地localhost
sql语句默认命令用大写字母(大小写不敏感),
SELECT VERSION();查看数据库版本;
SELECT CURRENT——DATE;查看当前时间,
SELECT支持查询多个参数用,分开;
SELECT还可以用来进行计算(例:SELECT 4*4;)
数据库名称创建之后无法更改。
二、SQL语句常用命令:
创建数据库:
CREATE DATABASE database_name;
删除数据库:
DROP DATABASE database_name;
查看当前数据库:
SHOW DATABASES;
进入数据库:
USE database_name;
查看当前表格:
SHOW TABLES;
创建表格:
CREATE TABLE table_name(**); //**表示创建的列和数据类型
查看表格的列和数据类型:
DESCRIBE table_name; //DESCRIBE可以简写 DESC
往表格中增加数据:
INSERT INTO table_name VALUES(值1,值2……);
INSERT INTO table_name(列1,列2…) VALUES(值1,值2……);
//字符型值需要用单引号包括,每个数据之前用逗号,最后一条不加逗号
删除表格:
DROP TABLE table_name;
重命名表格名:
ALTER TABLE table_name RENAME new_tabnle_name;
向表格中添加一列:
ALTER TABLE table_name ADD **; //** 列名称和数据类型
删除一列:
ALTER TABLE table_name DROP COLUMN **; //**列名称
修改一个数据类型:
ALTER TABLE table_name MODIFY **; //**列名称+新数据类型
重命名一个列:
ALTER TABLE table_name CHANGE COLUMN ## **; //##旧列名称 ,**新的列名称+数据类型
从表格中按条件查询记录:
SELECT 列名称 FROM table_name WHERE 列 运算符 值; //列名称:*表示所有列,
where支持的运算符:
=等于,
<>不等于,
>大于,
<小于,
>=大于等于,
<=小于等于,
BETWEEN在某之间,
LIKW搜索某种模式
查询返回结果删除重复项:
SELECT DISTINCT 列名称 FROM table_name;
where条件中使用逻辑组合:
SELECT * FROM table_name WHERE 条件一 AND\OR 条件2;
//AND逻辑与:必须同时符合两个条件,OR逻辑或:符合一个条件即可
对查询结果按指定列进行排序:
SELECT 列名称 FROM table_name ORDER BY 列名称;
SELECT * FROM table_name ORDER BY 表名称 DESC;
三、mysql数据库用户管理
mysql默认只有root一个用户;
mysql将用户信息保存在mysql数据库user表中;
创建一个新的用户:
CREATE USER user_name IDENTIFIED BY ‘密码‘;
//新用户创建好之后是没有登陆权限的,因为没有设置权限
删除用户:
DROP user_name;
重命名用户名:
RENAME user_name TO new_user_name;
修改用户密码:
SET PASSWORD =password(‘new_password‘);
SET PASSWORD FOR user_name =password(‘new_password‘) //修改user_name 密码
四、mysql权限管理
控制一个用户是否进行连接,以及连接后能针对那些对象进行操作
mysql权限控制包含两个阶段:
1.检查用户是否能够连接,
2.检查用户是否具有所执行动作的权限;
mysql授权权限层级:
1.全局层级,
2.数据库层级,
3.表层级,
4.列层级,
5.子程序层级;
mysql通过GRANT授予权限,REVOKE撤销权限
授权一个用户:
GRANT ALL PRIVILEGES ON 层级 TO user@主机 IDENTIFIED BY 密码;
例:GRANT ALL PRIVILEGES ON * TO ‘user‘@‘%‘ IDENTIFIED BY ‘password‘;
//*.*:第一个*数据库,第二个* 表格,%表示所有主机
删除一个用户权限:
REVOKE ALL PRIVILEGES FROM user_name;
mysql连接认证,主机地址类型:
localhost本地连接,%所有远程主机,精确主机名或ip,网段等等;
五、mysql的简单备份与恢复
备份一个指定的数据库:
mysqldump -u root -p database_name >备份名.sql
//mysql备份文件是一个纯文本文件,可以稍作修改给其他数据库使用;
恢复一个指定的数据库:
mysql -u root -p database <备份名.sql
六、mysql数据库字符编码设置
编码主要影响的两个方面:
1.数据库保存相同内容所占的空间大小,
2.数据库和客户端之间的通信;//客户端和数据库字符编码一定要一致!
常用数据库编码:
latin(拉丁语) //big5(繁体中文)gb2312(简体中文),通用utf8;
查看mysql支持的编码:
SHOW CHARACTER SET;
mysql默认编码:
CHARACTER SET:latin 1,
COLLATION:latin 1_swedish_ci;
查看当前mysql正在使用的编码:
SHOW VARIABLES LIKE ‘character_set%‘;
SHOW VARIABLES LIKE ‘collation&‘;
//SHOW VARIABLES 查看当前mysql的参数。
创建数据库时指定字符编码:
>CREATE DATABASE database_name
>DEFAULT_CHARACTER_SET utf8
>DEFAULT_COLLATE utf8_general_ci;
修改已创建数据库的字符编码:
ALTER DATABASE database_name CHARACTERSET utf8 COLLATE utf8_general_ci;
//数据库内已经有数据,若修改字符编码可能会导致数据不能正常显示;
修改mysql默认字符编码:
修改主配置文件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
修改之后重启mysql服务,通过以下命令查看默认编码:
SHOW VARIABLES LIKE ‘CHARACTER_SET%‘;
本文出自 “一个空着的杯子” 博客,请务必保留此出处http://luchuanjia.blog.51cto.com/6640392/1439471
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。