数据库之MySql建议收藏

1.mysql安装mysql是一种开放源代码的关系型数据库管理系统(RDBMS),是使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。(1)下载地址:https://dev.

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

全栈程序员社区此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“全栈程序员社区”或者“www_javaforall_cn”或者微信扫描右侧二维码都可以关注本站微信公众号。

数据库(Databases)是按照数据结构来组织、存储和管理数据的仓库,主要的数据库有:sqlserver、mysql、Oracle、SQLite、Acess、MS SQL Server等,以下主要记录mysql相关知识

1. mysql安装

  mysql是一种开放源代码的关系型数据库管理系统(RDBMS),是使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。

  (1)下载地址:https://dev.mysql.com/downloads/mysql/

  (2)安装过程参考:http://www.cnblogs.com/lonelywolfmoutain/p/4547115.html

2. mysql操作

  mysql操作包括数据:

  2.1. 库管理

    库连接:mysql -u root -p

    库退出:quit

    创建数据库:create database [IF NOT EXISTS] ‘database_name’;

    显示数据库:show database;

    选择使用的数据库:use database_name;

    删除数据库:drop database [IF EXISTS] database_name;

  2.2. 用户管理

    创建本地用户

    create user ‘lizhi’@’localhost’ identified by ‘password’;

    创建远程用户

    # 从192.168.0.121登录的用户

    create user ‘lizhi’@’192.168.0.121’  identified by ‘password’;

    # 从任意ip登录的用户

    create user ‘lizhi’@% identified by ‘password’;

    修改用户密码

    set password for ‘lizhi’@’localhost’ = password(‘lizhi666’)

    或

    # 使用update指令,注意这里的password需要进行加密

    update user set password=password(‘lizhi666’) where user = ‘lizhi’

    删除用户

    delete from user where user = ‘lizhi’ and host = ‘localhost’;

    flush privileges;

     用户授权

    grant all privileges on dxbqr.* to ‘lizhi’@localhost;

    flush privileges;

3. mysql表操作

  3.1 查看当前数据库中的所有表

    show tables;

  3.2 创建表

    create table [if not exists] table_name(

        column_list

    ) engine=table_list

  3.3 查看表内容

    desc table_name;

  3.4 修改表

    添加列:alter table table_name add  列名 类型

    删除列:alter table table_name drop column 列名

    修改列名:alter table table_name modify column 列名 类型;

         alter table table_name change 原列名 新列名 类型;

    添加主键:alter table 表名 add primary key(列名);

    删除主键:alter table 表名 drop primary key;

            alter table 表名  modify  列名 int, drop primary key;

    添加外键:alter table 从表 add constraint 外键名称(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段);

    删除外键:alter table 表名 drop foreign key 外键名称

    修改默认值:ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000;

    删除默认值:ALTER TABLE testalter_tbl ALTER i DROP DEFAULT;          

  3.4 删除表

    drop table table_name;

4. mysql表内容操作

  :insert into table_name (列名,列名…) values(值,值…)(值,值…)

  :delete from table_name;

    delete from table_name where id = “1” and name=”2″;

  update 表 set name = ‘zhangyanlin’ where id>1

  :select * from table_name

    select * from table_name where id>1

  查这块的条件太多太多:

  a. 条件判断where

  b. 通配符like

    select * from table_name where name like=’li%’

  c. 限制limit

    select * from 表 limit 5;                – 前5行

    select * from 表 limit 4,5;             – 从第4行开始的5行

    select * from 表 limit 5 offset 4   

  d、排序asc,desc

    select * from table_name order by 列 asc 根据“列”从小到大排列

    select * from table_name order by 列 desc 根据“列”从大到小排列

    select * from table_name order by 列1 desc,列2 asc

  e. 分组group by

    select num from table_name group by num

    select num,nid from 表 group by num,nid

    select num,nid from 表  where nid > 10 group by num,nid order nid desc

    select num,nid,count(*),sum(score),max(score),min(score) from 表 group by num,nid

    select num from 表 group by num having max(id) > 10

5. mysql数据类型

  INT

  DECIMAL(p,d)

  BIT

  BOOLEAN

  CHAR

  VARCHAR

  TEXT

  DATE

  TIME

  DATETIME

  TIMESTAMP

  JSON

  ENUM 

6. mysql表类型

  MySql为表提供了各种存储引擎,他们分别如下所示:

  • MyISAM
  • InnoDB
  • MERGE
  • MEMORY(HEAP)
  • ARCHIVE
  • CSV
  • FEDERATED

MyISAM


MyISAM扩展了以前的ISAM存储引擎。 MyISAM表针对压缩和速度进行了优化。 MyISAM表也可以在平台和操作系统之间移植。

MyISAM表的大小可达256TB,这个数据里是非常巨大的。 此外,MyISAM表可以压缩为只读表以节省空间。 在启动时,MySQL会检查MyISAM表是否有损坏,甚至在出现错误的情况下修复它们。MyISAM表不是事务安全的。

MySQL 5.5之前,MyISAM是创建表但是不用明确指定存储引擎时的默认存储引擎。 从版本5.5起,MySQL使用InnoDB作为默认存储引擎。

InnoDB


InnoDB表完全支持符合ACID和事务。 它们也是性能最佳的。InnoDB表支持外键,提交,回滚,前滚操作。InnoDB表的大小最多可达64TB

像MyISAM一样,InnoDB表可以在不同的平台和操作系统之间移植。如果需要,MySQL还会在启动时检查和修复InnoDB表。

MERGE


MERGE表是将具有相似结构的多个MyISAM表组合到一个表中的虚拟表。MERGE存储引擎也被称为MRG_MyISAM引擎。 MERGE表没有自己的索引; 它会使用组件表的索。

使用MERGE表,可以在连接多个表时加快性能。MySQL只允许您对MERGE表执行SELECT,DELETE,UPDATE和INSERT操作。如果在MERGE表上使用DROP TABLE语句,则仅删除MERGE规范。基础表不会受到影响。

Memory


内存表存储在内存中,并使用散列索引,使其比MyISAM表格快。内存表数据的生命周期取决于数据库服务器的正常运行时间。内存存储引擎以前称为HEAP

Archive


归档存储引擎允许将大量用于归档目的的记录存储为压缩格式以节省磁盘空间。 归档存储引擎在插入时压缩记录,并在读取时使用zlib库对其进行解压缩。

归档表只允许INSERT和SELECT语句。 ARCHIVE表不支持索引,因此需要完整的表扫描来读取行。

CSV


CSV存储引擎以逗号分隔值(CSV)文件格式存储数据。 CSV表格提供了将数据迁移到非SQL应用程序(如电子表格软件)中的便捷方式。

CSV表不支持NULL数据类型。 此外,读操作需要全表扫描。

FEDERATED


FEDERATED存储引擎允许从远程MySQL服务器管理数据,而无需使用集群或复制技术。本地联合表不存储任何数据。 从本地联合表查询数据时,数据将从远程联合表自动拉出

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120207.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • javacloneable接口_comparable

    javacloneable接口_comparable特点一个类实现了Cloneable接口指向@linkjava.lang.Object#clone()}方法是合法的使得一个field-for-fieldcopy的类的实例的拷贝在不实现Cloneable接口的对象上调用Object的clone方法会导致CloneNotSupportedException异常抛出。按照约定,实现此接口的类应当重写Object.clo…

    2022年10月15日
    2
  • source insight3.5注册码_source insight3.5注册码

    source insight3.5注册码_source insight3.5注册码安装程序下载在官网上下载SourceInsight4.0的安装程序.30天的试用安装首次启动选择授权方式,这里选择第二个选项,30天试用。image.png点击下一步,输入名称、公司或组织名称、邮箱信息,申请30天的试用。输入完成后,点击下一步,直到安装完成。修改sourceinsight4.exe用16进制编辑器(sublimetext)打开sour…

    2022年10月4日
    2
  • war如何解压[通俗易懂]

    war如何解压[通俗易懂]工具/原料 WinRAR eclipse tomcat9.0 用解压软件解压 如果只是想看war包中的内容,可以直接用解压软件解压war包就可以了。 如图我是用WinRAR解压的。右键war包选择打开方式,接着选择一个解压软件,最后将文件夹解压到电脑上就可以了,我是解压到桌面上。 解压后就可以看到桌面上多了一个文件夹。打开文件夹,就能看到war包里面的内容了。 END 用eclipse解压 如果是想编辑该w

    2022年10月4日
    3
  • vscode搭建react框架(vscode补全js方法)

    文章目录一、安装node二、配置淘宝镜像三、配置vscode(win10)四、全局安装脚手架五、创建项目一、安装node请在官网下载安装:https://nodejs.org/zh-cn/vscode中点击(ctrl+`)调出终端输入指令node-v,能显示版本号,说明node已经装好了输入指令npm-v,能显示版本号,说明npm可以使用了点击链接查看图文教程https://blog.csdn.net/qq_45677671/article/detail

    2022年4月12日
    245
  • executeUpdate()返回值「建议收藏」

    executeUpdate()返回值「建议收藏」executeUpdate()是PreparedStatement对象众多的抽象方法中的一个在jdk1.8中executeUpdate()有两种返回值(搜索一下PreparedStatement即可查看到),即有两种返回值不同的方法。返回值分别是:int和ResultSet在使用数据库的项目中作者用到了返回值为int的方法,查询了一下相关的解释intexecuteUpdate()…

    2022年10月20日
    3
  • python浪漫表白源码(附带详细教程)_python网站开发实例

    python浪漫表白源码(附带详细教程)_python网站开发实例本文实例为大家分享了python七夕浪漫表白的具体代码,供大家参考,具体内容如下fromturtleimport*fromtimeimportsleepdefgo_to(x,y):up()goto(x,y)down()defbig_Circle(size):#函数用于绘制心的大圆speed(1)foriinrange(150):forward(size)right(0….

    2022年9月16日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号