美文网首页
数据库学习

数据库学习

作者: 原上的小木屋 | 来源:发表于2020-02-13 16:22 被阅读0次
    1. java 面向对象
    2. 关系型数据库 面向关系

    各种数据库

    • Oracle 甲骨文
    • DB2 IBM
    • SQL Server 微软
    • Sybase 赛尔斯
    • MySQL 甲骨文

    RDBMS关系型数据库管理系统=管理员(manager)+仓库(database)relation database management system

    • database=N个table
    • table表结构。表记录

    创建表时,需要指定表的列数、列名称以及列类型,而不需要指定表格的行数,行数无上限。区分表结构和表记录

    net start mysql启动服务
    
    cmd命令下 mysql -u用户名 -p密码 -hip地址进入mysql服务
    如mysql -uroot -proot -hlocalhost进入服务
    

    mysql不区分大小写,建议使用大写;可以单行或多行书写,以分号结尾

    SQL 结构化查询语言 structured Query Language

    1. DDL 数据定义语言 用来定义数据库对象,库、表、列等
    • 创建、删除、修改,库、表结构
    1. DML 数据操作语言 用来定义数据库记录
    • 增、删、改、查;表记录
    1. DCL 数据控制语言 用来定义访问权限和安全级别

    2. DQL 数据查询语言 用来查询记录

    创建数据库
    CREATE DATABASE [IF NOT EXISTS] mysql_test [CHARSET=utf8]
    
    删除数据库
    DROP DATABASE [IF EXISTS] mysql_test
    
    修改数据库编码
    ALTER DATABASE mysql_test CHARACTER SET utf8
    
    创建表
    CREATE TABLE [IF NOT EXISTS] 表名(
        列名 列类型,
        列名 列类型,
        .............
        列名 列类型
    )
    
    查看表结构 DESC 表名
    删除表 DROP TABLE 表名
    
    修改表:前缀 ALTER TABLE 表名
    
    添加列 ALTER TABLE 表名 ADD (
        列名 列类型,
        列名 列类型,
        .................
    )
    修改列类型 ALTER TABLE 表名MODIFY 列名 列类型
    修改列名 ALTER TABLE 表名 CHANGE 原列名 新列名 列类型
    删除列 ALTER TABLE 表名 DROP 列名
    修改表名 ALTER TABLE 表名 RENAME TO 新表名
    

    数据库中所有的字符串类型,必须使用单引号,不能使用双引号

    插入数据
    insert into 表名(列名1,列名2) values(列值1,列值2)
    
    不给出插入列,那么默认为插入所有列,值得顺序需要与创建表时列的顺序相同
    insert into 表名(列名1,列名2) values(列值1,列值2,列名3.........)
    
    修改数据
    update 表名 set 列名=列值
    update 表名 set 列名=列值 where 列名=列值      //增加一个条件
    
    删除数据
    delete from 表名 where 列名=列值 //增加一个条件
    
    创建用户
    一个项目创建一个用户,一个项目对应的数据库只有一个
    这个用户只能对这个数据库有权限,其他数据库你操作不了
    
    1.创建用户
    create user 用户名@IP地址 identified by '密码'  //用户只能在指定的IP地址上登录
    create user 用户名@'%' identified by '密码'  //用户可以在任意IP地址上登录
    2.给用户授权
    grant all on 数据库名.* to 用户名@IP地址 //给用户授权
    3.撤销授权
    revoke delete on 数据库名.* from 用户名@IP地址 //撤销授权
    4.查看权限
    show grants for 用户名@IP地址
    5.删除用户
    drop user 用户名@IP地址
    
    select distinct * from 表名; //完全重复的记录只一次
    select distinct 列名1 from 表名 //对列名1进行去重操作
    
    列运算
    mysql中不可以使用+来连接字符串
    select concat(列名1,列名2) from 表名  //连接列名1和列名2
    select concat('字符串1',列名1,'字符串2',列名2) from 表名  //连接列名1和列名2
    
    模糊查询 like关键字 _匹配1个字符 %匹配0到多个字符
    
    排序 order by 排序列 asc(升序)/desc(降序)
    排序 order by 排序列1 asc(升序),排序列2 desc(降序) 
    对排序列1进行升序,排序列2进行降序排列
    
    select count(*) from 表名 查询记录数
    分组前条件 where 分组后条件 having
    
    limit字句 limit 8,5从第9行开始查要5行,在分页上面用
    

    相关文章

      网友评论

          本文标题:数据库学习

          本文链接:https://www.haomeiwen.com/subject/tghlfhtx.html