数据库学习笔记(初级)

来源:互联网 发布:linux重启网络服务 编辑:程序博客网 时间:2024/06/10 21:15

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

rpm -qi mysql-serverservice mysqld start(stop、restart)--->启动之后才可以使用mysql数据库chkconfig mysqld on(使mysqld服务所系统启动而启动)-------------------------------------------登录方式-----------------------------------------------mysql -u helen -p(回车后输入密码)mysql -h 127.0.0.1 -u helen -pmysql -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_castCREATE 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 数据库名 > 备份的文件名.sqlmysqldump -u  helen -p lc_course > lc_course_bk.sql(回车之后输入密码)//恢复mysql -u helen -p 数据库名 < 备份的文件名.sql(回车后输入密码)mysql -u helen -p lc_course < lc_course_bk.sql
参考教学视频连接点击打开链接

0 0