MySQL数据库精华

MySQL的基础
********************************************************************
1.数据库:高效的存储和处理数据的介质(介质主要是2种:磁盘和内存)


2.数据库的分类?
  <1>基于存储介质的不同,分为两类:
     关系型数据库(SQL)
     非关系型数据库(NoSQL:Not Only SQL不是关系型的都叫做关系型数据库)


3.关系型数据库
   大型的:Oracle DB2
   小型 SQL_SERVER Mysql


   菲关系型数据库:memcached,mongodb,redis(同步到磁盘)


4.两种数据库阵营的区别
  关系型数据库:安全(保存到磁盘不可丢失),容易理解
  非关系型 :易丢失,但是效率高


5.什么是关系型的数据库
   是一种建立在关系模型(数学模型)上的数据库。


6.关系模型:是一种建立在关系模型上,关系模型包括三个方面
  数据结构:数据存储的问题,二维表(有行和列)


  操作指令集合 :所有SQl语句
  完整性约束:表内数据约束(字段与字段)表与表之间的约束


7.关系型数据库的设计?


  关系型数据库:从需要存储的数据需求分析


8.数据库关键字的说明
    数据库:database
    数据库系统:DBS  是一种虚拟系统
    DBA : 数据库管理员。
    DBMS: 数据库管理系统
    行/记录:row/record,本质是一个东西


9. SQL :结构化查询语言(数据主要是以查询为主:99%在查询操作)
   分为三个部分
     DDL:数据定义语言,用来维护存储数据的结构
     DML:数据操作语言,用来对数据进行操作
     DCL:数据控制语言,主要负责权限。


10.Mysql
   是一种C/S的结构软件:客户端 服务端。若想访问服务器必须通过客户端(服务      器一直运行,客户端在需要使用的时候运行)。飞Q,是一种扁平化CS结构


11.交互方式
   1.客户端连接认证:连接服务器 .认证身份 mysql.exe -hPup hP-连接 up-认 证
              端口-找软件3306  -h 找电脑
    2.发送SQL
    3.服务器接收SQL指令,返回结果
    4.客户端接收结果:显示结果
    5.断开连接(释放资源,服务器并发限制)
  
12.连接:mysql.exe -hlocalhost -P3309 -uroot -p 打开服务器
   show global variables like 'port'; 查看端口号
   发送:show databases    查看所有的数据库
      返回结果
   退出:exit,quit,\q


13.mysql创建数据库命令:
      1.show databases //显示数据库
      2.create database student(数据库名) //创建数据库student
      3.use student //进入student数据库
      4.create table studinfo(表名) (sno int primary key,sage int(2))
         ............ // 创建表studinfo
      5.show table //显示表  ..............
      6.drop database student //删除student数据库


14.  1、显示数据库列表。 
         show databases; 
     2、显示库中的数据表:


15.Mysql与sql的区别
   SQL 是结构化查询语言 类比java;是一种编程语言
    例如 selec *from tb; //语句


   MySQL 是一个关系型数据库 类似 DB2 SQL server Oracle 
   是开源的


16. mysql的社区版本 是开源的免费版本。
    在安装的时候 可以选择默认,网上是custom
    每次连接数据库都要连接数据库
    在配置中有开机自动启动的选项


17. mysql的配置
     提示信息
     Commands end with; or \g  
        :mysql命名行下的命令以分号(;)或"\g"来结束,遇到这个结束符就 开始执行命令;
     Your MySQL connection id is 24 Server version:5.0.67-community-nt   
          id表示MySQL的数据库连接次数,后面是社区版,版本号等信息;
      Type 'help;' or '\h' for help  
          表示输入help;或\h可以看到帮助信息;
       Type '\c' to clear the buffer  
          遇到\c就会清屏


    MySQL Server 5.0\目录下
        bin:可执行文件,如mysql.exe、mysqld.exe等;


       include:头文件,如decimal.h、errmsg.h等;


       lib:库文件,分两个文件夹,分别是opt和plugin;


       share:字符集、语言信息;


         只有my.ini是正在使用的。


  my.ini:MySQL数据库使用的配置文件,修改该文件即可修改配置;


  my-huge.ini:适合超大型数据库的配置文件;


  my-large-ini:适合大型数据库的配置文件;


  my-medium.ini:适合中型数据库的配置文件;


  my-small.ini:适合小型数据库的配置文件;


  my-template.ini:配置文件的模板;


  my-innodb-heavy-4G.ini:该配置文件只对InnoDB存储引擎有效,而且服务器的内存不能小于4G;


   可以在my.ini添加上关注字符转换的配置。GBK
   
18.添加DB:create database gc;
    删除DB drop database gc;
    建立的数据 库是独立的
    show databases; 显示每个里面都有数据表


19.数据库的类型
   使用数据库的时候,要建立一个database (DB)内部有许多的数据库表,(table)
   table:表名,有许多的的字段。(列)
   《1》常用三种数据类型 
         1.文本类,char ,vachar(可变长度,灵活),text,LONGtEXT (长文本)
         2.数字类,TINTINT(bool),INT,,bigint,DOUBLE
         3.日期类, DATE,DATETIME(年月日时分秒)。
20.添加和删除数据表(table)
   creat table 表名(
          添加 表中的每一列(字段名),和数据类型“,”隔开


                     );
    例如 用户账号
     create table accent(
                  id bigint(20),    #id 号
                  create Time datetime, #创建的时间
                  ip varchar(255),    #ip
                  mobile varchar(255), #联系
                  nicname varchar(255), #昵称
                  passwd varchar(255), #密码
                  username varchar(255),#用户名
                  avatar varchar(255),  #头像
                  brief text,             #用户简介,内容大
                  job varchar(255),     #工作
                  localtion varchar(255),#地域
                  qq varchar(255),   #QQ号
                  gender int(11),    #性别
                  city varchar(255), #城市
                  province varchar(255), #省份
                         );


     删除数据库表table
     drop table “表名”


    describe 表名 “查看表的信息”


21.修改table,增加列
   添加:alter table 表名 add 列名 数据类型 [not null][default](默认的,可以不选)
   删除:alter table 表名 drop 列名


22. 修改table  信息和表名
 修改列的信息: alter table 表名 change 旧的列名 新的列名 数据类型
                可以灵活的使用,只改变列名而不改变数据类型
 修改表名 :alter table 表名 rename 新的表名


23.查看表的数据
   select *from 表名 ,查看表中的所有的数据。
   select col_name,col_name2,..........from table_name; 表中有许多的字段,会显示固定的
                 列。
 
 插入数据
    insert into 表名 values(值1,值2,.....) 会插入数据到所有的列中
    insert into 表名 (列1,列2....) value(值1,值2,........) 会插入到特定列


    例如 insert into book values(3);是会错的,默认要添加上所有的字段的内容。


24.where语法 where后更条件语句
  select *from 表名 where 列名 运算符 值
  例子:
    select *from book where title=‘t’;
  运算符 =,!=,<;>,>=,<=,betwin(两个范围内),like 安装某个模式查找
  组合条件 and、or 
   select *from 表名 wherer col1 = xxx and col2 = xx or col3 >xx


25.null的判断 :用来判断是否为空,而不是用“=”
  select *from 表名 where col_name is null 
   select *from 表名 where col_name is not null 

26.select distinct(精确地)应用在查重中有重复的,只要把不一样出现一次,不需要列出各种
                   结果。去重
   select distinct 列名 from 表名
    


27.使用order by对查询结果排序
   1.按照单一的列表排序
      select *from 表名 [where 字句] order by col_name [asc/desc] 二者选一个,升                                                                 序/降序
   2.按照多列排序:
     select *from 表名 [where 字句] order by col1 [asc/desc],col1 [asc/desc]...


    不加asc或者desc时,默认asc


28.select结果使用limit截取
   limit 可以查看指定行 的内容
    select *from 表名 [where 字句] linit [offst,]rowCount
          offset:查询结果的起始位置,第一条记录的其实是0 (可以不填)
          rowCount:从offset位置开始,获取记录的条数
                  位置和条数 就是范围了
          limit rowCount = limit 0,rowCount  (offset可以不填,相当于0)


29.insert into 与select的组合
   实现的功能,能够把另外表中的内容插入到 当前的表中
   insert into 表名1 select 列1,列2 from 表名2        
    


30.更新表数据
  update 表名set 列名 = xxx [where 字句]      
   update 表名set 列名1 = xxx,列名1 = xxx... [where 字句]     


31.where的in操作符
   select *from 表名 where 列名 in(value1,Value...)
    select *from 表名 where 列名 in(select 列名 from 表名)
    列名 in(valuw1,value2 ...)等同 列名=value1 or 列名 = value2...


32.where 中的between (筛选的条件而已)
  select *from where 列名 between值1 and 值2
  select *from where 列名 notbetween值1 and 值2




33.where中的like的操作(字符串的模糊匹配)
    select *from 表名 where 列名 [not] like pattren
    pattern:匹配的模式 
            例如 ‘abc’ : 列完全是abc,才匹配
                 ‘%abc’: 匹配abc为结尾的字符串
                 ‘abc%’: 匹配以abc开头的字符串
                 ‘%abc%’:匹配只要包含abc就可以


  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值