MySQL数据库的增删改查的操作

创建数据库

 create database db1 ;
 create database db1 character set utf8 ; #指定字符集
 create database db1 character set utf8 collate utf8_bin;  #指定字符集和校对规则

修改数据库

 alter  database db1 character set utf8 collate utf8_bin;# 修改数据库的字符集和校对规则

查看数据库

 show databases ;           #查看数据库服务器中有多少数据库
 show create database db1 ; #查看创建库的语法
 select database();         #查看正在使用哪个库

删除数据库

drop database db1;          #删除数据库

数据库表的增删改查

Mysql中的数据类型

public class User{                          user
    priavte  int id ;                       //int 
    private String username ;               //varchar(20)       char(20)   
    private String pwd;                     //varchar       char
    private  String sex;                    //varchar       char
    private  Date  birthday;                //Date  
    private  Date  regTime ;                //timestamp     datetime
    private  double account ;               //double
}

创建表

建表的语法
    create table 表名(字段名1 类型(长度) 约束,字段名2 类型(长度) 约束,....)
mysql中的单表约束:
    主键:primary key
    唯一:unique
    非空:not null 
例子:
    use db2;
    create table user(
        id int primary key ,
        username varchar(20) unique,
        pwd  varchar(20) not null ,
        sex  varchar(10),
        birthday  date ,
        regTime  timestamp,
        account  double(10,2)
    );

注意:mysql 数据库中字符串在创建表的时候必须给长度,其他的类型如果不给,都有默认的长度

查看表

1.查看库中有哪些表
    show tables ;               #查看库中有哪些表
2.查看创建表的语法 
    show create table 表名;   
3.查看表结构 
    desc 表名;                    

删除表

drop  table  表名 ;

修改表

1.修改表添加列
    alter table 表名  add  字段 类型(长度)约束
2.修改表修改列的类型长度约束     
    alter table 表名  modify 字段名 类型(长度) 约束;
3.修改表,修改列名
    alter table 表名  change  旧字段名 新字段名 类型(长度) 约束;
4.修改表的字符集
    alter table 表名  character set 字符集
5.重命名表
    rename  table  旧表名  to  新表名

数据库表数据的增删改查(****)

插入数据

语法
    给某几列插入数据:insert into 表名(列1,列2,列3…) values(值1,值2,值3…);
    给所有列插入数据:insert into 表名values(值1,值2,值3…);   
    一次性插入多行数据: insert into 表名values(值1,值2,值3…),(值1,值2,值3…),(值1,值2,值3…)…;
注意事项:
    有值的类型要与数据库中列的类型一致。
    值的顺序要与列的顺序保持一致。
    插入值的长度不能超过列规定的长度。
    对于字符串和时间的值,要使用引号括起来。
    插入的数据要符合约束

修改数据

update 表名 set 列名1=值1,列名2=值2…[where条件];

注意:如果没有带条件,那么就是把这一列的值都修改了。

删除数据

语法:
    delete from 表名 [where 条件]
delete from 表名 和truncate table 表名 两种方式的区别:
    delete from 表名:是DML语句,一条一条的删除数据,事务可以作用在DML语句上。
    truncate table 表名:是DDL语句,先删除表,再创建一个跟之前表一样结构的新表,事务不能作用在DDL语句上。

查询数据

1.基本查询语句
    查询所有列
        select * from 表名
    查询指定列
        select1,列2from 表名

2.条件查询  where
    比较运算    >    >=   <     <=      <>      != 
    条件并列    and   or   not
    模糊查询    like    
    in       
    between    and  

3.排序
    select * from 表名 [where 条件] order by 列名 asc/desc,列名 asc/desc …
    ASC  : 升序
    DESC : 降序

4.分组   
    group  by  分组字段     having

    **注意:where子句不能使用聚合函数,如果现在使用带有聚合函数的条件过滤或者分组后过滤,使用having关键字**

5.聚合函数
    sum         
    avg
    count
    min
    max

6.sql语句的基本顺序 
    select ... from  表名 where  条件 group by  分组字段  having 筛选后条件   order by  排序字段  

多表关系与查询(****)

1. 外键约束  foreign  key 

    创建表时如何添加外键   
        create  table 表名(
            字段名 类型(长度) 约束,
            字段名 类型(长度) 约束,
            foreign key (外键字段)  reference  关联表(关联字段)
        )  

    在表创建成功之后添加外键
        alter table 表名  add  foreign key (外键字段)   reference  关联表(关联字段)

    注意:
        1.添加外键时外键指向的表必须存在
        2.添加外键时外键指向的字段必须是主键
        3.如果表中已经有数据,那么数据必须符合约束

2. 实体之间的关系及建表原则 
    * 一对多   :   在多的一方创建一个外键指向一的一方的主键
    * 多对多   :   创建一个第三方表,这张表最少要有二个字段分别作为外键指向双方的主键
    * 一对一
        1. 唯一外键对应   :  假设是一个特殊的一对多的关系,在多的一方创建一个外键指向一的一方的主键,并且需要设置外键唯一
        2. 主键对应     :  让二张表的主键对应



3. 多表联合查询(*****)
    1.连接查询
        交叉链接        cross  join       二张表的笛卡尔积
            SELECT  * FROM A CROSS JOIN  B     
            SELECT  * FROM A,B
        内链接           二张表的交集部分(满足连接条件的数据组合)
            显式内连接       inner  join 
                SELECT  * FROM  A  INNER  JOIN  B   ON A.ID = B.ID  
            隐式内连接
                SELECT *  FROM  A ,B  WHERE A.ID =  B.ID 
        外连接             OUTER JOIN          OUTER可以省略
            左外链接    左表的所有数据,与二张表的交集(左表的所有数据与满足连接条件的数据组合)
                SELECT  * FROM  A LEFT  OUTER  JOIN  B  ON  A.ID = B.ID 
            右外链接  OUTER  可以省略   右表的所有数据,与二张表的交集(右表的所有数据与满足连接条件的数据组合)
                SELECT  * FROM  A RIGHT OUTER  JOIN B ON A.ID = B.ID 

    2.子查询   : SQL的嵌套 (一个查询语句,依赖于另一个查询语句的结果)
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值