zoukankan      html  css  js  c++  java
  • MySQL数据库的使用

    断开数据库连接时输入:QUIT或者EXIT或按Ctrl+D,MySQL数据库不区分大小写。

    先设置环境变量,将路径加入到path中
    进入MySQL时:mysql -u root -p
    创建数据库:create database firstdb;(;不能省,所有的MySQL命令结尾都以分号结束)
    创建表:create table sales_rep(
    employee_number int,
    surname varchar(40),
    first_name  varchar(30),
    commission tinyint);
    use firstdb 指定数据库
    INT表示整数,通常在-2147483648到2147483647的范围内,有4个字符;
    VARCHAR(30):VARCHAR表示可变长字符,括号中的数字表示字符串的最大长度;
    Commission  TINYINT:TINYINT表示小整数,通常在-128到127范围内,有11个字符,Commission字段是一个百分比值,不可能超过100%,所以用小整数就足够了
     
     
    show tables;列出当前数据库中所有的表。
    describe sales_rep;显示表的结构(sales_rep是表名)
    向表中插入数据方法如下:(字符串字段VARCHAR的值要用单引号括起来,数字字段不需要)
    insert into sales_rep(employee_number,surname,first_name,commission) values(1,'Rive','Sol',10);(surname:姓;commission:佣金)
    或insert into sales_rep values(1,'Rive','Sol',10);(必须按顺序)
    或者可以同时插入多条记录,每一条记录用逗号隔开。
    如:insert into sales_rep(employee_number,surname,first_name,commission) values
    (1,'Rive','Sol',10),
    (2,'Gordimer','Charlene',15),
    (3,'Serote','Mike',10);
     
    用LOAD DATA从文本文件插入大量数据:
    LOAD DATA LOCAL INFILE "sales_rep.sql" INTO TABLE sales_rep;数据文件的格式一定要正确,没有异常。在这种情况下,如果使用默认设置,文本文件中的每一条记录占一行,每个字段有TAB键来分隔,每一行以换行符结束。
     
    从表中检索信息:select commission from sales_rep where surname = 'Gordimer';
    (返回字段commission)
    select commission,employee_number from sales_rep where surname = 'Gordimer';
    (返回字段commission,employee_number)
    select * from sales_rep where surname = 'Gordimer';(通配符*返回所有字段)
    条件可以有多个,用and或or,或者两者都需要,and运算在or之前
    select *from sales_rep where surname like 'Sero%';查找姓以Sero开头的所有,%是一个通配符,类似于*,但只能在select条件中使用,它的含义是0个或多个字符。可以使用多个,%e%,姓里面带有e的。%e%e表示任何位置有一个e,并且以e结尾
     
    分类:按字母顺序列出雇员表:select * from sales_rep order by surname;
    默认从低到高,在末尾加上desc将从高到低;limit 后有1个参数,表示返回的数量,有2个参数的话,第一个表示偏移量,第二个是所限制的行数,默认偏移量是0。如果指定偏移量为1,就从第二条显示;limit常用于MySQL的搜索引擎,如每页显示10条结果,第一页的结果使用limit 0,10;第二页的结果使用limit 10,10;
    如:select first_name,surname,commission from sales_rep order by commission desc limit 1;(返回佣金最高的一个first_name,surname,commission)
     
    max()函数返回最大值;函数是应用与括号中的参数的。如:select max(commission) from sales_rep; 返回佣金最高的,查询时应注意空格
    返回唯一清单用distinct,让重复的只出现一次。如:select distinct surname from sales_rep order by surname;
    count()函数返回结果的数目,如:select count(surname) from sales_rep;
    计数不重复的数目时,将count()与distinct 结合使用,如:select count(distinct surname) from sales_rep;
    avg()函数,min()函数,sum()函数返回平均数,最小值,总数;将要处理的字段放到括号中。
    select first_name,surname,commission+1 from sales_rep;查询commission+1之后的;
     
    删除记录:delete语句,类似于select,由于要删除整个记录,所以不需要指定任何的列,只需要表名和条件。在删除时应用唯一字段作为条件,delete from sales_rep;这会将表中的所有记录删除。
     
    更改表中的记录:update语句  ,如update sales_rep set commission = 12 where employee_number = 1;
     
    删除表和数据库:drop语句,如drop table sales_rep;  drop database firstdb;
     
    改变表结构
    添加列:alter语句add,如在sales_rep表中创建一个列,用于存储该员工加入公司的日期。 
    ALTER TABLE sales_rep ADD date_joined DATE;(DATE是一个列类型,以-年-月-日的格式存储(YYYY-MM-DD))
    YEAR也是一个列类型。
    更改列定义:alter语句change(modify) ALTER TABLE sales_rep CHANGE year_born  birthday DATE;(CHANGE后面是旧的列名称,然后是新的列名称及其定义);要改变定义,而不改变列名,只需简单的使名称与前面一样,如:
    ALTER TABLE tablename CHANGE oldname oldname new_column_definition;或者,用MODIFY从句,它不要求重复名称,ALTER TABLE tablename MODIFY oldname new_column_definition;
    为表重新命名:alter语句rename,如将表名sales_rep改为cash_flow_specialist
    ALTER TABLE sales_rep RENAME cash_flow_specialist;
    将表名恢复原样:alter语句rename to,如
    ALTER TABLE cash_flow_specialist RENAME TO sales_rep;
    或者:RENAME old_tablename TO new_tablename;
    删除列:alter语句drop,如:
    ALTER TABLE sales_rep DROP enhancemant_value;
    指定日期格式:date_format()函数,如:
    SELECT DATE_FORMAT(date_joined,'%m/%d/%Y') FROM sales_rep WHERE employee_number=1;('%m/%d/%Y'叫做格式化字符串,%m返回月份(01-12),%d返回日期(01-31),%Y返回四位数的年份,%W返回星期日期,%M返回月份的名字,%e返回日期(1-31),%y返回两位数的年份,%a是缩写的星期日期,%D是带后缀的日期,%b是缩写的月份名字)
    返回当前日期和时间:current_date()函数返回日期,now()函数返回日期和时间;
    month()和dayofmonth()返回日期的一部分
  • 相关阅读:
    HashTable, HashMap,TreeMap区别
    redis的多线程
    五种I/O模型介绍
    SpringBoot的优点
    spring注解
    三种方法求解两个数组的交集
    数据库七种传播行为
    BETA 版冲刺前准备
    Python学习笔记(二)--变量和数据类型
    事后诸葛亮
  • 原文地址:https://www.cnblogs.com/smghome/p/7379875.html
Copyright © 2011-2022 走看看