关于linuxcast网站课程中MYSQL安装配置基础课程的个人笔记

来源:互联网 发布:唐山学院网络教育 编辑:程序博客网 时间:2024/04/24 00:53


linuxcast.net(后期更名iter)网站已经关闭很久了

但是留下几部很不错的课程  内容简明扼要

特此进行整理


第一课 MYSQL 的安装配置



安装

    yum install -y mysql-server-*

    apt-get install mysql-server mysql-client


启动

    service mysql start
    service mysqld start

    service mysql restart
    service mysqld restart
    
    使用 systemctl 也可以


配置

    root密码初始化
    mysqladmin -u root password 'root-new-password'

登录root

    mysql -u root -p


    chkconfig mysqld on


配置文件

    /etc/my.cnf

创建的数据库保存位置(可从配置文件内配置)

    /var/lib/mysql

默认日志文静位置

    /var/log/my.log

默认端口 3306

    查找端口是否监听
        
        netstat -tupln | grep 3306

第二课 基本操作

mysql连接方法

    mysql -h localhost -u root -p

    mysql -h 数据库所在地址 -u 登录用户 -p

    默认是连接到本地


进入sql后

    操作语句通常大写  也可以小写

    查看数据库版本   大多语句用分号结尾

        SELECT VERSION();    

    获取当前时间

        SELECT CURRENT_DATE ;

    两者合并

        SELECT VERSION(),CURRENT_DATE ;

    基本数学计算

        SELECT 4+4;
        SELECT 4*4;

    查看当前数据库

        SHOW DATABASES ;

    
    创建数据库

        CREATE DATABASE 数据库名;

    删除数据库

        DROP DATABASE 数据库名 ;

    切换当前使用的数据库

        USE 数据库名 ;

    创建数据库名称确定后无法重命名


第三四五六课   SQL语言


第一节


    进入数据库 显示数据库信息

        SELECT * FROM 数据库名  ;

    SQL 语句分类

        DDL-data delinttion language 定义语言 对数据库本身修改

            CREATE         创建
            ALTER        修改
            DROP        删除
        
        DML-data manipulation language  数据库维护语言 对数据库内容

            SELECT         选取
            INSERT        插入
            UPDATE        更新
            DELETE        删除

        DCL-data control language 控制语言 操控权限

            GRANT        给予一个用户的各种权限
            REVOKE        移除一个用户的各种权限
            

        TCL-transaction control
        
            COMMIT        保存数据操作
            SACEPOINT    为仿版标记一个事务点
            ROLLBACK    从最后一次commit恢复到最后状态
    


第二节


    数据库管理

        创建数据库

            CREATE DATABASE 数据库名 ;

        删除数据库
        
            DROP DATABASE 数据库名 ;

        创建完成后 无法重命名数据库


    数据类型

        integer(size) int(size) smalint(size) tinyint(size) 储存整数
        
        decimal(size,d) numeric(size,d) 储存浮点

        char(size)    固定长度字符串

        varchar(size)    可变长度字符串

        date(yyyymmdd)存日期


    创建表格

        CREATE TABLE 表名称

        (

        列名称1 数据类型,
        列名称2 数据类型,
        列名称3 数据类型,
        ...

        )

        CREATE TABLE lc_course

        (

        id int,
        course_name varchar(50),
        course_length int(10),
        teacher varchar(50),
        category varchar(50)

        )
    
        SHOW TABLES ;


    查看表结构

        DESCRIBE 表名字 ;
        DESC 表名字 ;   (简写)

    删除表格

        DROP TABLE 表名字 ;


    修改表

        重命名表

            ALTER TABLE 原名 RENAME 新名;

        向表中添加一列 ;

            ALTER TABLE 表名 ADD 新列 ;
            ALTER TABLE lc_course ADD link varchar(100) ;

        删除表中一列

            ALTER TABLE 表名 DROP 要删除的列名 ;
            ALTER TABLE lc_course DROP link varchar(100) ;

        修改列的数据类型
            
            ALTER TABLE 表名 MODIFY 列名 数据类型 ;
            ALTER TABLE lc_course MODIFY teacher varchar(100);

        重命名一个列

            ALTER TABLE 表名 CHANGE COLUMN 原名 新名 数据类型 ;
            ALTER TABLE lc_course  CHANGE COLUMN teacher  lecture varchar(100) ;

第三节

    
    向表格插入数据 一条记录
        
        INSERT INTO 表名称 VALUES (值1,值2,...);
    
        或者

        INSERT INTO 表名称 (列1,列2) VALUES (值1,值2) ;

        例:

        INSERT INTO course VALUES(1,'install linux',32,'nash_su','Basic');
        
        INSERT INTO course  (id,course_name,category) VALUES (2,'GNOME','Basic') ;
        

    查询数据

        SELECT 列名1,列名2  FROM 表名称;

        SELECT * FROM course 表中所有信息 ; (查询所有数据)

    按条件查询数据

        SELECT 列名 FROM 表名称 WHERE 列名 运算符 值;

        例:

        SELECT * FROM course WHERE course_name='GNOME' ;
    
        SELECT * FROM course WHERE course_length > 10 ;

    支持的运算符

        <> 不等于
        <=
        >=
        BETWEEN        指定范围
        LIKE        某种模式搜索

    从表格中删除记录

        DELETE FROM 表名 WHERE 列名 运算符 值 ;
        
        DELETE * FROM 表名 ;(删除表中所有信息)

        例:
    
        DELETE FROM course  WHERE id = 1 ;

    
    更新表中记录

        UPDATE 表名 SET 列名=新值 WHERE 列名=值 ;

        UPDATE course SET lecture='Lee' WHERE id=3 ;


第四节

    删除返回结果重复项 返回结果唯一化

        SELECT DISTINCT 列名 FROM 表名;

        例:

        SELECT DISTINCT lecture FROM course;


    使用WHERE的逻辑组合

        SELECT * FROM 表名 WHERE 条件1 AND 条件2 ;
        SELECT * FROM 表名 WHERE 条件1 OR 条件2 ;

        例:

        SELECT * FROM course WHERE lecture='nash_su' AND category='Adv';

    对查询结果排序

        SELECT * FROM 表名称 ORDER BY 列名 ;        (正序)
        SELECT * FROM 表名称 ORDER BY 列名 DESC;     (倒序)

第七课 SQL用户

        
    默认只有一个root用户

    默认保存于mysql保存用户信息   mysql数据库user表中

    创建新用户

        CREATE USER 用户名 IDENTIFIED BY '密码';
        创建后不能登录  因为没有初始化权限

    删除用户

        DROP USER 用户名

    重命名用户

        RENAME USER 原用户名 TO 新用户名 ;

    修改用户密码

        SET PASSWORD = PASSWORD ('新密码') ;
    
    修改指定用户密码:

        SET PASSWORD FOR 用户名 = PASSWORD('新密码');

    
第八课 权限系统


    1 检查用户是否连接诶

    2 是否有执行动作的权限

    
    层级:

        全局

        数据库

        表

        列

        子程序层级

    
    通过GRANT 授予权限 REVOKE 撤销权限

    授予一个用户权限:

        GRANT ALL PRIVILEGES ON 层级 TO 用户名@主机(远程来源) IDENTIFIED BY 密码 ;

        例如:
        全局授权
        GRANT ALL PRIVILEGES ON *.* TO 'nash_su'@'%' IDENTIFIED BY 'linuxcast' ;
        
        数据库授权
        GRANT ALL PRIVILEGES ON linuxcast.* TO 'nash_su'@'%' IDENTIFIED BY 'linuxcast' ;
    
    撤销用户权限

        REVOKE ALL PRIVILEGES FROM 用户名 ;


    授权主机 连接来源

        所有主机    %
        精确的域名或IP    www.linuxcast.net 或 192.168.1.1
        使用*通配符    *.linuxcast.net
        指定网段    192.168.1.0/255.255.255.0

            
    最后  刷新权限

        FLUSH PRIVILEGES ;


第九课 备份还原


    使用自带的mysqldump命令    

    备份数据库    

        mysqldump -u root -p 数据库名 > 备份文件.sql

        产生的sql为通用数据库格式


    还原数据库

        mysql -u root -p 数据库名 < 备份文件.sql

    
    都是使用了重定向

第十课  数据库编码


    在定义数据库时就需确定使用的编码

    如UTF8 GB2312 Big5 Latin


    1 不同编码 占用空间不同
    2 数据库与客户端通讯

    
    MYSQL默认编码是Latin1

        character set : latin1
        collation : latin1_swedish_ci

    可以通过命令查看MYSQL支持的编码

        SHOW CHARACTER SET ;

        常用UTF8(万国) GB2312(简体) Big5(繁体) Latin

        最好使用UTF8 高兼容
    


    查看当前编码

        SHOW VARIABLES LIKE 'character_set%' ;
        
        SHOW VARIABLES LIKE 'collation%' ;


    创建数据库的时候可以指定使用的编码

        CTEATE DATABASE linuxcast
            DEFAULT CHARACTER SET utf8
            DEFAULT COLLATE utf8_general_ci ;

    也可以通过以下命令修改一个数据库的编码  (可能出现乱码,不常用)

        ALTER DATABASE linuxcast CHARACTER SET utf8 COLLATE utf8_general_ci ;



    指定创建的默认编码

        修改配置文件

        [client]
        default-character-set=utf8
        [mysql]
        default-character-set=utf8
        [musqld]
        default-character-set=utf8
        collation-server = utf8_unicode_ci
        init-connect='SET NAMES utf8'
        character-set-server = utf8

    修改后 重启服务  再次查看

        SHOW VARIABLES LIKE 'character_set%' ;


 
 




0 0
原创粉丝点击