码迷,mamicode.com
首页 > 数据库 > 详细

MySql

时间:2015-09-23 01:16:30      阅读:264      评论:0      收藏:0      [点我收藏+]

标签:mysql基础

程序:指令+数据组成

对数据文件进行有序排列,形成一个索引文件,然后通过索引文件快速找到相对应得数据文件

通过指针指向,帮我们查找文件的方法叫做索引: 

       常见的方法:B+树

                   二分法

DML:数据操作语言:

     insert replace update delete

DDL:数据定义语言

     create ater drop

DCL:数据控制语言:

     grand授权 revoke取回权限 select

RDBMS:数据库软件

     Oracle、Sybase、Infomix、SQL Server、

     MySQL、PostgreSQL、pgsql、EnterpriseDB

   MySQL: facebook 阿里巴巴 淘宝 google

    哪天MySQL不能用了可以用MariaDB/Percona 都是从MySQL发展而来的

    因为Percona太牛了,而且是开源免费,所以 促使着MySQL快速发展

   学习MySQL要多关注Percona网站

反关系型数据库:NoSQL

     MongoDB 文档数据库

     redis   缓存数据库/内存数据库

     HBase   在自己内部实现,数据管理的非关系数据库

###################################################################3

DBMS:

     数据管理的独立性

     有效地完成数据存取

     数据完整性和安全性

     数据集中管理

     能够实现并发存储与故障恢复

     减少应用程序的开发时间

################################################

              SQL命令                          # 

                 |                             # 

 -----------------------------------           #

  |       |              |                     #

优化器  分析器       计划执行器                #

-------------------------------------          #

    |             |            |               #

 事物管理器 文件的存取方法   故障恢复管理器    #

    |             |                            #

 锁管理器      缓存器                          #

                  |                            #

            磁盘空间管理器                     #

################################################                  

 MySQL:

      Community Edtion 社区版

      Enterprise Edtion 企业版 

      Cluster:集群

      workbench:图形化工具

      Connectors 连接器 例:PHP链接MySQL,可以通过API也可以通过驱动,那个驱动就是连接器

软件包格式:

       软件包管理器特有的格式

            rpm包 .exe格式

       通用二进制格式

       源程序

################################

红帽官方提供的RPM包最重要的有两个:

      MySQL 客户端

      mysql-server 服务器端 

   PHP-mysql就是 PHP访问mysql的驱动

二进制程序:

      mysql 客户端

     mysqld 服务器端  

mysql监听在服务器的3306端口

#####################################

应用程序默认保存在 /var/lib/mysql

#####################################

netstat -ntlp 查看监听端口

##################################

mysql -u USERNAME 指定以哪个用户去链接     不指默认root 

      -p 指定密码                          不指默认 空

      -h 指定服务器是谁                    不指默认localhost


mysql 用户不仅有用户名,包含用户名,和允许它登陆的主机

#############################################################

mysql默认将他的数据库存放在/var/lib/mysql

在mysql下创建一个目录相当于创建了一个数据库    

#############################################################

mysql客户端

     交互式模式

     批处理模式

            执行mysql脚本

交互式模式中命令类别:

      客户端命令:

      服务器端命令 :必须使用语句结束符,默认为分号;

#############################################################

SHOW DATABASES;  查看mysql中所有的库;

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@


关系数据库对象:   

          库

          表

          索引

          视图

          约束

          存储过程

          存储函数

          触发器:做主动数据库的

          游标

          用户

          权限

          事务

          

核心组件:

     表:

        行row 列field/column

        表;某一类实体的集合


     字段名称 数据类型,类型修饰(限制):

      字符:

           CHAR(n)最多存储256个字符

           VARCHAR(#)最多存储65535个字符

           BINARY()

           VARBINARY()

           TEXT(n)说明要存多大字节的文本

           BLOB(n) 二进制的大对象

       数值:

           精确数值

               整型

                 TINYINT

                 SMALLINT

                 MEDIVMINT

                 INT

                 BIGINT


                 修饰符:UNSIGNED;无符号

                         NOT NULL:

             十进制

                  DECIMAL

           近似数值

             浮点型 

                  FLOAT

                  DOUBLE           

               日期

                  DATE

                  TIME

                  DATETIME

                  STAMP  

               布尔 

########################################################################################

1、创建数据库:

         create databases db_name;

2、展现出所有的数据库:

         show databases;

3、如果不存在就添加:

         create database if not exists db_name

4、删除数据库:

         drop database db_name;

5、创建表:

     create table students(name(20) not null,age tinyint unsigned,gender char(1) not null)

6、设定默认使用哪个数据库:

            usr db_name

7、查看库中的表:

      show tables from db_name;         

8、 查看表结构:

      desc tb_name;

8、删除表:

      drop table if exists tb_name  

9、在students表上新增一个字段:

      alter table students add course varchar(100);

10、修改字段的名称,并第一个显示:

      alter table students change course Course varchar(100) first;

11、删除某个字段

      alter table students drop Course;

12、在表中插入字段

    insert into students (name,Gender) value (‘Linghuchong‘,‘M‘),(‘Xiaolongnv‘,‘F‘);            insert into students values (‘xiaoxiangzi‘,‘hamagong‘,‘57‘,‘M‘);  

13、修改某一字段的名称;不指定where全部都改

   update tb_name set 字段名=value where name=‘xiaoxiangzi‘; 修改字段

  范例:只显示名字和课程:select nmae,Course from students where Gender=‘M‘;

14、删除:删除表中学蛤蟆功的用户

     delete from tb_nmae where Course=‘hamagong‘;     

  

     select 字段 from tb_name where CONDITION;

15、 创建用户:

     create user ‘aaa‘@‘%‘ identified by ‘password‘;

       host 

           ip

           主机名   

           网路地址 

             _:192.168.9.__ 意思是包含10-99所有的段

            %:任意长度的任意字符

15、查看用户的权限:

          show grants for ‘aaa‘@‘%‘;

15、把数据库tom上所有的权限给aaa用户

           grant all privileges on tom.* to ‘aaa‘@‘%‘;

16、删除用户:

     drop user ‘username‘@‘host‘;

17、赋权限:

   grant select,update,delete on db_name.tb_name to ‘username‘@‘host‘ identified by ‘password‘;

例:grant select,update on tom.students to ‘ww‘@‘192.168.9.247‘ identified by ‘password‘;

17、远程连接:

        mysql -uaaa -p -h192.168.9.247   就可以链接

18、取消权限:暂时不讲

    revoke select,update on tom.students from ‘ww‘@‘192.168.9.247‘  

MySql

标签:mysql基础

原文地址:http://10183596.blog.51cto.com/10173596/1697289

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!