51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 1214|回复: 0
打印 上一主题 下一主题

基于mysql数据库的基础知识一

[复制链接]
  • TA的每日心情
    无聊
    2 小时前
  • 签到天数: 399 天

    连续签到: 5 天

    [LV.9]测试副司令

    跳转到指定楼层
    1#
    发表于 2018-12-14 16:50:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    基于mysql数据库的基础知识
    • 显示当前服务器版本  SELECTVERSION();
    • 显示当前日期时间   SELECTNOW();
    • 显示当前用户       SELECTUSER();
    • 登录数据库-----------------MySQL -uroot-p



    数据库
    • 查看当前所有的数据库--------SHOW DATABASES;
    • 创建数据库------------------CREATE DATABASEtb1(数据库的名称)
    • 删除数据库-------------------DROP DATABASE  tb1(数据库的名称)
    • 进入某个数据库--------------USE user(数据库的名称)
    • 查看当前所在的数据库--------SELECT DATABASE();
    • 查看当前数据库的数据表情况-------------SHOW TABLES FROMtb1(数据库的名称);
    • 更改数据库的名称--------------RENAMEDATABASE db_name TO new_db_name可能错的


    扩展:
    如果是MyISAM的话.只要修改DATA目录下面的那个库名的文件夹的名字就OK了
    如果是INNODB的话.其实是无法修改库名的.网上瞎咧咧的什么RENAMEDATABASE或者ALTER DATABASE都是不行的
    一种方法是比较保守的.直接把老库的内容mysqldump到新库里面
    还有一种类似上面方法.先altertable 的存储引擎到MyISAM,然后改了库目录的名字,然后再改回来INNODB.
    最后一种方法还是比较好的.这边详细写一下.
    假设源库名是’srcdb’,目标库名是’trgdb’
    首先创建目标库
    createdatabase trgdb;
    获取所有源库的表名
    useinformation_schema;
    selecttable_name from TABLES whereTABLE_SCHEMA=’srcdb’;
    然后按照以下命令一个个修改
    renametable srcdb.[tablename] to trgdb.[tablename];
    一个个执行下来之后表就转到新的库里面了.



    数据表
    • 创建数据表-----------------CREATE TABLE table_name(id int not null primarykey);
    • 删除数据表------------------------DROP TABLESt6(数据表的名称)
    • 查看数据表的列表、结构、有的属性-------------SHOW COLUMNSFROM t1(数据表的名称);  或许这里还有一个WHERE条件


    修改数据表、表中的结构、属性
    增、删、改、查

    1.增
    向数据表中插入(数据列)属性----------ALTER TABLEpersion数据表名称 ADD sex数据列名称VARCHAR(20)数据类型;

    2.删
    删除列的一些定义----------------ALTERTABLE persion数据表名称 DROP sex数据列名称 VARCHAR(20)数据类型;

    3.修改数据表

    添加单列
    ALTER TABLE tbl_name ADD  [column]col_name  [FIRST | AFTER]放在列前还是后的(这加上列的性质)(DEFAULT默认值最后或是不写)col_name1

    添加多列
    ALTER TABLE tbl_name ADD [columns](col_name名columns_definition属性类型...)

    删除列
    ALTER TABLE tbl_name DROP [columns] col_name;

    修改列定义,修改位置,修改属性
    ALTER TABLE persion MODIFY username(及属性的定义)

    修改列名称
    ALTER TABLE persion CHANGE username1 username2;

    修改表名
    ALTER TABLE user1 RENAME user2;
    RENAME TABLE user1 TO user2;

    数据表数据


    向数据表中的数据列插入数据---------------INSERTpersion(数据表的名称) (username数据表的列名)VALUES("name1数据名字")或是('···')


    删除\更改-----------------DELETE FROMpersion表名字 where 条件语句...

    删除数据
    DELETE FROM persion数据表的名称 WHERE id=3(要删除的条件);

    改/更新
    ···························································

    更新记录
    UPDATE persion SET age = age+5;

    4.查
    查看数据表中的数据信息-----------SELECT * FROMpersion(数据表的名称);

    查找
    SELECT username,id(数据表列名称) FROM persion(数据表名称);

    把查询到的记录插入到别的表中
    INSERT user(数据子表) SELECT username1 FROM user(数据父表) WHEREage>=30;

    查询结果分组
    GROUP BY sex=1;或是id等

    分组条件
    GROUP BY 1 HAVING age>35

    对查询结果进行排序
    SELECT * FROM user ODER BY id或是age DESC/ASC;

    返回多少条查询结果
    SELECT *FROM user LIMIT 3(从哪个位置开始),2(取多行的数据);
    SHOW TABLES;

    客户端以gbk的编码方式显示,不影响真实数据SET  NAMES gbk;

    \G;  这个东西的 意思-------以表格的形式显示数据信息,在语句的后面加上\g



    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-19 11:34 , Processed in 0.066406 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表