zoukankan      html  css  js  c++  java
  • mysql第一次学习和使用

    作为一个小白,唯一的自学能力很重要。偏向于linux系统的学习。
      有学习的小伙伴可以一起讨论有问题可以问我,微信 15321502296

    第一次学的人也可以看看。截图较多

    Mysql 命令

    进入mysql   mysql -u root -p

    查看当前所有数据库: SHOW DATABASES

    进入某一个数据库: use + 数据库名 查看库中数据表 SHOW TABLES+ 表名   如果没在数据库中也需要吧库名 加入

    查看数据表内容 DESCRIBE + 表名   简写 DESC +表名

    创建新的库 CREATE DATABASES+库名 +

    MySQL

    DBMS开源数据库管理系统

    数据库 管型数据库和非管型数据库     

    人工管理阶段

    文件系统阶段

    数据库系统阶段

    高级数据库阶段

    层次数据库

    网路数据库

    关系数据库

    DB (database)   是一个长期储存计算机内的,有组织的有共享的统一管理的数据集合,他是一个按数据结构来存储和管理数据的计算机软件系统

    数据表是一系列的二维数组的结合

    行被称为记录 组织数据的单位

    列被称为字段   每一列表示记录的一个属性

    数据类型  决定数据在计算内存储的方式是什么

    主键

    Primary key  用于唯一的标识表中的每一条记录   主键不能重复  可以设为空

    数据库系统

    1数据库:存放数据 容器

    2数据库管理系统  dbms   DataBase   Manafement System

    3数据库的应用程序

    SQL语句:  查找或修改所使用的语言  结构化查询语言

    ANSI  92SQL-92  SQL99美国国家标准机构

    SQL语句分类

    DDL:数据库定义语言

    DML:数据操作语言

    DQL:数据查询语言

    DCL:数据控制语言

    数据库的访问技术

    Mysql -uroot -p

    ODBC  开放数据库互联  

    JDBC   jave进行数据库操作

    ADO.NET  微软开发设计

    PDO          PHP所开发的访问数据库的接口

    C/S

    Client   server

    Communication server   社区版mysql

    不收费 服务表企业版少

    Enterprise    server     企业版

    Mysql 优点

    1开源价格

    2运行速度快

    3简单易学习易于使用

    4可移植性强  可以安装不同操作系统

    5丰富的接口

    6支持查询语句

    7安全性和链接行强

    Mysql 服务器实用工具

    Mysql SQL 后台程序。改程序必须运行之后,客户端才能通过连接服务器来访问数据库

    Mysqld_safe  :服务器启动脚本。Unixnet ware 实用来启动mysqld服务器

    Mysql.service    服务器启动脚本改脚本用于使用包含特定级别,运行启用服务的脚本,运行目录的系统    它调用mysqld_safe 来启动mysql 服务器

    Mysql_multi:服务器启动脚本

    Bin

    Perror 报错

    Mysql 命令

    引擎:是指数据库底层软件组件

    InnoDB

    1、调教、回滚崩溃恢复  行级别锁定

    2、处理巨大的数据量的数据

    3、外键

    4、没有限制内存

    5.5版本之前是myisam  后缀是.frm

    MyISAM 基于ISAM

    不支持外键  

    支持最大的索引64字节每个索引最大的列数16列最大的键的长度为1000字节

    可以在BLOB TEXT 上做索引

    MEMORY

    每个表可以有32个索引 每个索引16列可以用500字节

    执行HASH BTREE索引

    固定

    不支持BLOB TEXT

    可以再所有的客户端共享

    支持ANTO_INCREMENT  HE NULL

    存在内存当中  

    释放Delete from   truncate table

    删除 drop table

    功能

    MyISAM

    Memory

    InnoDB

    储存限制

    256TB

    RAM

    64TB

    支持事物

    NO

    NO

    YES

    支持全文索引

    YES

    NO

    NO

    支持数索引

    YES

    YES

    YES

    支持哈希索引

    NO

    YES

    NO

    支持数据缓存

    NO

    YES

    支持外键

    NO

    NO

    YES

    SHOW DATABASE 查看数据库  J进库 use+

    创建表

    CREATE  TABLE <表名>

    (字段1 数据类型 默认值 约束条件

    字段2                          

    主键

    字段名 数据类型 PRIMARY KEY

    外键

    给两个表之间创建链接,一个表可以为空键

    外键必须对应主表的主键

    CONSTRAINT<外键名>FOREIGN KEY 字段1 [字段2]    REFERENCES<主表>主键列

    非空约束

    字段名 数据类型 NOT NULL

    唯一性约束

    字段名 数据类型 UNIQUE      

    一个表里可以有多个唯一性约束 主键不能为空 唯一性约束可以有空

    字段名 +数据类型 +default+ 默认值

    设置表的属性值自增

    字段名 数据类型 AUTO_INCREMENT

    查看DESC DESCRIBE 表名

     SHOW CREATE TABLE tb_emp8G

    修改ALTER

    修改表名

    ALTER TABLE 《就表名》 RENAME 《新表明》

    修改字段数据类型

    10ALTER TABLE 《表名》MODIFY <字段名》 《数据类型》

    修改字段名

    ALTER TABLE <表名》 CHANGE 《旧字段名》《新字段名》《数据类型》  可以改数据类型

    ALTER TABLE 表名 ADD 字段名  first 放在表最前面    after 放在最后 不加任何参数默认放在最后

    ALTER TABLE tb1 DROP zhangyi    删除tb1 表里的zhangyi字段

    修改字段的排列位置

    Alter table 《表名》modify《字段1<数据类型》first | after <字段二》

    删除数据包 

    DROP TABLE [IF exists]  表名1    删除有关联的时  先删除关系  或者先

    修改引擎

    删除标的外键约束

    表中不一定要有主键

    并不是每个表都可以随意选择存储引擎

    AUTO_INCREMENT 不一定从以开始

    删除鼠标表里内容

    INSERT INTO 表 加数值    变量数值   

    加引号字符格式   不带引号是数字模式

    数据类型

    数字数据类型

     1字节 2的八次方-1 没符号256          2字节    3字节       4字节   8字节

    TINYINT  有符号127         SMALLINT  MEDUMINT  INT     BIGINT  整数

    很小的整数

    4字节                8字节          x 字节FLOAT  单精度浮点DOUBLE双精度浮点  DECIMAL压缩的严格的定点数    

    6位之后进0      不进

       

    日期时间的数据类型

    YEAR         TIME             DATE   DATETTIME  TIMESTAMP

    1          hhmmss                YYYY-MM-DD   YYYY-MM-DD HH:MM:SS

    1901~2155  -837:59 59~838                          1970-01-01 000001~2038-01_19  031407

    字符串类型

    CHAR   VARCHAR  BINARY  VARBINARY  BLOB  TEXT  ENUM  SET

    函数

    x显示当前线程

    获取当前用户名

    获取字符串的字符集

    加密

    格式化 显示

    GET_LOCK 设法使用字符串str给定的名字得到一个锁,超时未timeout秒 , 若成功得到锁则返回1 若超时操作时,则返回0  若发生错误,则返回null

    Release——localstr)解开被get_lock 获取的锁,如果锁被解开返回1  若末get_lock则返回0,若锁名不存在则返回null

    Is_free_lock str); 检查名为str的锁是否可以使用。若锁可以使用则返回1 锁正在被使用的话返回0 如果出现错误则返回null

    Is_used_lock(str):检查名为str的锁是否正在被使用。若被封锁,则返回正在使用的客户端的连接标识符。否则则返回null

    %d    该月日期。数字形式(00..31

    %e    该月日期,数字形式(0..31

    %f    微秒 (000000...999999

    %H    2位数表示24小时(00..23

    %h%1 2位数表示12小时(01..12)

    %i     分钟,数字形式  (00-59

    %j    一年中的天数(001-366

    %k   24小时(0-23

    %l   12小时(0..12

    %M 月份名称 (January..December

    %m   月份数字形式(00..12

    %p  上午(AM)或下午(PM

    %r 时间,12小时制(小时hh:  分钟mm: 秒钟ss 后面加AM PM

    %S%s 1位数形式表示秒900..59)

    %U周(00..53),其中周日为每周的第一天

    %u 周(00..53),其中周一为每周的第一天

    %V周(01..53),其中周日为每周的第一天和%X 一起使用

    %v 周 (01..53),其中每周一为每周的第一天和%x一起使用

    %W 工作日名称(周日..周六)

    %w 一周日的每日(0=周日..6=周六)

    %X 该周的年份,其中周日为每周的第一天;数字形式4位数,he %

    INSERT INTO table_name column list

    查询的结果插入表里面

    INSERT INTO  table_name column_listSELECT column_l

    修改

    UPDATE  table_name

    SET column——name1 =valuelcolumn_name2=value2.... wherecondition

    Delete formtable_name [wherecondition]

    SELECT

    {*|<字段列表> }

    [

    FROM <1>,<2>..

    [WHERE <表达式>]

    [GROUP BY <group by definition>]     显示一些数据按照分组方式

    [HAVING<expression>    

    [{<operator><expression>}...]]

    [ORDER BY <order by definiton>]

    [LIMIT<offset>]

    BETWEEN AND 的范围查询

    带 LIKE的字符匹配查询

    查看    为空   NULL

    Or

    Select distinct 字段名 from 表名

    字母排序     

    攘夺列字段排列   指定排序的方向是第一个开始  字母是 a-z   z-a

    倒着查看 des

    Asc 是升序

    分组查询 

    Group by 字段 having 条件表达式

    集合啦里只有一个的删除显示了

    With Rollup  新增加一个记录 求综合

    Group by  order by  

    limit 查询前四行

    select * from fruits limit 4,3

    结合函数

    AVG() 平均值

    COUNT()行数

    MAX()最大

    MIN()最小

    SUM()求和

    select counts_idas count from fruits

     水果价格降序

    select

    链接查询

    select 表名1.s_ids_name,f_name,f_price

    from 表名2 inner join 表名1

    on fruitss_id=supplierss_id

      有学习的小伙伴可以一起讨论有问题可以问我,微信 15321502296

  • 相关阅读:
    设计模式一:简单工厂模式
    排序算法一:冒泡排序
    设计模式三:工厂方法模式
    设计模式二:单例模式
    >Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause
    eclipse打开会出现初始化错误>解决办法
    easyui页面上的增删改功能
    springboot集成druid数据源
    springboot集成shiro的验证
    Java虚拟机
  • 原文地址:https://www.cnblogs.com/bingpo-blade/p/9035463.html
Copyright © 2011-2022 走看看