数据库学习笔记(初级)

     最近的几次面试中,都被问有关数据库的知识,不得不承认数据库是我的硬伤(谁让自己当初没好好学),所以最近在恶补数据库方面的知识(从三月中旬到现在,面过的公司挺多的,关于面试的情况,后期抽时间上传的,希望昨天CVTE的hr面顺利通过),好了,废话不多说,分享下关于数据库学习的笔记,希望对大家有所帮助。

rpm -qi mysql-server

service mysqld start(stop、restart)--->启动之后才可以使用mysql数据库
chkconfig mysqld on(使mysqld服务所系统启动而启动)

-------------------------------------------登录方式-----------------------------------------------
mysql -u helen -p(回车后输入密码)
mysql -h 127.0.0.1 -u helen -p
mysql -h localhost -u helen -p 



---------------------------------------------相关文件--------------------------------------------------
配置文件:/etc/my.cnf
数据文件:/var/lib/mysql/
日志文件:/var/log/mysqld.log

默认端口:3306 TCP协议

SQL语句的分类
1、DDL(data definition language)    :create drop alter rename (操作数据库、表)
2、DML(data munipulation language)    : select insert update delete(操作数据)
3、DCL(data control language)        : grant revoke(权限)
4、TCL(transaction language)        :commit savepoint rollback(事务)


-------------------------------------------常见操作-----------------------------------------------------------
select version();            //显示版本
select current_date;     //显示当前时间


show databases;             //显示当前有哪些数据
create database lcdb;    //创建一个数据库
drop databses lcdb;       //删除一个数据库
use lcdb;                      //选择使用的数据库


CREATE DATABASE linux_cast;
USE linux_cast
CREATE TABLE lc_course(
id int,
course_name varchar(50),
course_length int,
teacher varchar(10),
category varchar(7)
);

//对表重命名
ALTER TABLE lc_course RENAME course;

//在表中增加一列
ALTER TABLE lc_course AND link varchar(100);

//在表中删除一列
ALTER TABLE lc_course DROP COLUMN link;

//修改表中某一列的数据类型
ALTER TABLE lc_course MODIFY course_name varchar(2000);

//修改某一列的名称
ALTER TABLE lc_course CHANGE lecture teacher varchar(100);

//删除重复项
SELECT DISTINCT lecture FROM course; 

//按照指定列进行排序输出
SELECT * FROM course ORDER BY course_length;(默认按照升序进行排列)
SELECT * FROM course ORDER BY course_length DESC;(按照降序)

//按照条件进行查询
SELECT * FROM course WHERE lecture="nash_su" AND category="adv";
SELECT * FROM course WHERE lecture="nash_su" OR  category="adv"

--------------------------------------------用户管理--------------------------------------------
//增加一个用户
CREATE USER 用户名  IDENTIFIED BY  '密码';(默认没有权限,无法登入---------需要进行权限方面的设置)
//删除一个用户
DROP    USER 用户名;
//修改用户名
RENAME USER 原用户名 TO 新用户名
//修改当前用户的密码
SET PASSWORD=PASSWORD('新密码'); -------->密码用单引号括起来
//修改指定用户的密码
SET PASSWORD FOR 用户名 PASSWORD=PASSWORD('新密码');

---------------------------------------------权限管理--------------------------------------------
权限级别:
    1、全局范围
    2、数据库级
    3、表级
    4、列级
    5、子程序级

//用户名、主机、密码都用单引号括起来
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'主机' IDENTIFIED BY '密码'
               哪些权限                哪个级别               主机的限制                               
GRANT ALL PRIVILEGES ON *.* TO 'nash_su'@'%' IDENTIFIED BY 'linuxcast'

*.*:所有数据库下的所有表  ---------    linux_cast.* :赋予针对特定数据库linux_cast的权限
% :所有主机


-----------------------------------------------数据库备份/恢复------------------------------------------
//备份
mysqldump -u  用户名 -p 数据库名 > 备份的文件名.sql
mysqldump -u  helen -p lc_course > lc_course_bk.sql(回车之后输入密码)

//恢复
mysql -u helen -p 数据库名 < 备份的文件名.sql(回车后输入密码)
mysql -u helen -p lc_course < lc_course_bk.sql





参考教学视频连接 点击打开链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值