zoukankan      html  css  js  c++  java
  • (一)MySQL学习笔记

    1.MySQL安装

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

    启动mysql服务

    net start mysql

    停止mysql服务

    net stop mysql 

    登录mysql

    mysql -u root -p 

    2.MySQL基础命令

    (以下msg为表名,title,imge,dates为字段名)

    1.显示所有数据库

    SHOW DATABASES;

    2.使用某个数据库

    USE 数据库名;

    3.显示所有数据表

    SHOW TABLES;

    4.创建数据表

    CREATE TABLE msg VALUES(
                   字段名1 字段类型1,
                   字段名2 字段类型2 CONSTRAINT_NAME,
                   ....
    )

    --CONSTRAINT_NAME(约束)包括以下:
    --NOT NULL - 指示某列不能存储 NULL 值。
    --UNIQUE - 保证某列的每行必须有唯一的值。
    --PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。
    --FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。
    --CHECK - 保证列中的值符合指定的条件。
    --DEFAULT - 规定没有给列赋值时的默认值。

    
    

    CREATE TABLE tdcp VALUES(
         title varchar(100),
         aid varchar(20) NOT NULL,
         type varchar(10)
         author varchar(100),
           PRIMARY KEY (aid) #主键约束
    )

    5.查询相关语句

    SELECT * FROM info;  # 查询整张表
    
    SELECT * FROM info LIMIT 10; 查询前10条记录
    
    SELECT UCASE/LCASE(image) FROM msg ;  #将结果转换成大/小写
    
    SELECT title,image,dates FROM msg GROUP BY dates;  # 将结果按时间排序
    
    SELECT MID(title,1,5) FROM msg;  # 在title中第一个字符开始截取长度为5的字符串
    
    SELECT LENGTH(title) AS len FROM msg;  # 计算title的长度
    
    SELECT ROUND(1.2684,3);  返回四舍五入保留三位小数的结果
    
    SELECT DISTINCT types FROM info;  #将结果去重
    
    SELECT title FROM info WHERE types='生活';  #查询types为'生活'的title
    
    SELECT title FROM info WHERE coin>10000;  #查询coin大于10000的title
    
    SELECT title FROM info WHERE coin>1000 AND types='动画';  #查询coin大于10000并且types为'动画'的tittle
    
    SELECT title, image, DATE_FORMAT(NOW(),'%Y.%m.%d') AS date FROM msg;  #返回指定格式的当前时间。NOW()返回当前系统时间,FORMAT用于格式化
    
    SELECT title FROM info WHERE danmaku BETWEEN 1000 AND 100000;  #查询danmaku在1000和100000之间的title
    
    SELECT title FROM info WHERE danmaku IN (0, 100,1000);  #查询danmaku为0或100或1000的title
    
    SELECT * FROM info WHERE title (NOT)LIKE '%东西%';  #查询title中(不)含有'东西'的记录
    
    SELECT * FROM info ORDER BY danmaku DESC;  #查询所有记录,并以danmaku降序排列,DESC去掉就为升序
    
    SELECT title FROM info AS T;  #将T作为info的表别名进行后续查询
    
    SELECT X.aid,X.title,X.author FROM info AS X; #查询info表的aid,title,author
    SELECT X.aid,X.title FROM info AS X,td AS T WHERE X.aid
    =T.aid AND X.title='【崩坏3】'; #查询info表的aid和td表的aid相同,并且info表的title为【崩坏3】的记录 SELECT aid AS W,author AS A FROM info; #将W,A分别作为aid,author的列别名进行显示
    SELECT title, CONCAT(aid,
    '&',danmaku,'&',author) AS ada FROM info; #将aid,danmaku,author以&连接作为ada进行显示(多个列名合并) SELECT info.title FROM info INNER JOIN td ON info.aid=td.copy_id; #内连接,查询info表的aid和td表的copy_id相同的title
    SELECT info.title FROM info LEFT JOIN td ON info.aid
    =td.copy_id; 左连接(左表info),与下面一条结果相同
    SELECT td.title FROM td RIGHT JOIN info ON info.aid
    =td.copy_id; 右连接(右表info)
    SELECT aid FROM info UNION SELECT copy_id FROM td; #将info表的aid和td表的copy_id联合显示(不重复)
    SELECT aid FROM info UNION ALL SELECT copy_id FROM td; #将info表的aid和td表的copy_id联合显示(重复)
    SELECT title FROM info WHERE types
    ='生活' UNION (ALL) SELECT title FROM td WHERE title='Evolution'; #联合两个查询语句结果

    6.插入

    INSERT INTO info (types,title,danmaku) VALUES ('网站','www.baidu.com',1200);  #将值插入,字段没有的默认为空

    7.更新

    UPDATE info SET title='www.google.com' WHERE types='百度';  #将type为'百度'的title更新为'www.google.com'

    8.删除

    DROP TABLE info;  #删除info表
    DELETE FROM info WHERE type
    ='动画'; #删除type为'动画'的记录

    9.修改

    
    
    ALTER TABLE info RENAME TO my_info;  #修改info表名为my_info

    ALTER TABLE info MODIFY COLUMN views VARCHAR(20); #修改info表的views字段的类型为varchar(20)

    ALTER TABLE info CHANGE title tt VARCHAR(255); #修改info表的title字段为tt,类型为varchar(255)
    ALTER TABLE info ADD PRIMARY KEY (aid); #已创建的表info添加主键
    ALTER TABLE info DROP PRIMARY KEY #删除info表的主键

    ALTER TABLE info DROP COLUMN title; #将title列从info表中删除

    ALTER TABLE info ADD title VARCHAR(255); #将列title插入到info表
  • 相关阅读:
    我画着图,FluentAPI 她自己就生成了
    寻找性能更优秀的不可变小字典
    寻找性能更优秀的动态 Getter 和 Setter 方案
    数据治理方案技术调研 Atlas VS Datahub VS Amundsen
    数据库读写分离这个坑,你应该踩过吧?
    写了一套优雅接口之后,领导让我给大家讲讲这背后的技术原理
    年轻人不讲武德,竟然重构出这么优雅后台 API 接口
    贞炸了!上线之后,消息收不到了!
    一笔订单,但是误付了两笔钱!这种重复付款异常到底该如何解决?
    自动化运维工具之Puppet master/agent模型、站点清单和puppet多环境设定
  • 原文地址:https://www.cnblogs.com/delav/p/9381854.html
Copyright © 2011-2022 走看看