mysql语法总结

一、数据库的操作


1.显示数据库

show databases;


2.创建数据库

create database 库名 default character set utf8;


3.删除数据库

drop database 库名;


4.使用数据库

use 库名;


二、数据表的操作


1.显示数据表

show tables;


2.创建数据表

1)创建表语句
   

  create tables 表名(字段名 类型 约束,字段名 类型 约束,......);

## 注意:mysql是没有序列的,但是可以在创建表的时候直接指定主键是自赠的。
      在字段后使用 auto_increment 表示自增。

2) MySQL常见字段类型
       数值类型:
            int(长度)表示整数类型的数据
            float/double表示浮点数
       字符类型:
            varchar(长度)动态分配存储长度
             char(长度)分配固定长度
        日期类型:
             date:格式为yyyy-mm-dd
            datetime:格式为yyyy-MM-dd hh:mm:ss 占用8个字节
           timestamp:特点:会自动进行时区的转换,占用4个字节
            time:时间
            year:年份
        其他类型:
           TEXT:字符数据
           BLOB:二进制数据

3) 约束
  主键约束:
    

在创建表时,在字段后使用 primary key 即可
在创建表语句的最后面使用 constraint 约束名 pirmary key(主键字段名)


  非空约束:
    

在创建表的时候直接在字段后使用 not null 即可


    注意:
      mysql的非空约束中空字符是可以存储进去的。
  检查约束:
    在mysql中是没有检查约束的,但是使用check关键字又不会报错。
    解决:
      使用代码逻辑进行无效的数据过滤。
      使用 mysql 的存储过程。
  唯一约束:
    

在字段名后直接使用 unique 即可
在创建表语句的最后面使用 constraint 约束名 unique(字段名)


  外键约束:
   

在字段名后直接使用 references 父表名(父表主键名)
在创建表语句的最后面使用 constraint 外键约束名 foreign key(字段名) references 父表名(父表主键名)

4)在表外部添加约束
  ## 主键约束
  

alter table 表名 add constraint 约束名 pirmary key(主键字段名);


  ## 唯一约束
 

 alter table 表名 add constraint 约束名 unique key(字段名);


  ## 非空约束
  

alter table 表名 modify 字段名 类型 not null;


  ## 外键约束
  

alter table 表名 constraint 外键约束名 foreign key(字段名) references 父表名(父表主键名)on delete set null on update cascase;

添加字段:
   

 alter table 表名 add 字段名 类型 约束;


删除字段:
 

  alter table 表名 drop 字段名;


修改字段类型:
   

alter table 表名 modify 字段名 新的类型;


修改字段名:
   

 alter table 表名 change 字段名 新的字段名 类型;


修改表名:
   

alter table 表名 rename as 新的表名;

删除数据表

drop table 表名;


查看表创建语句

show create table 表名;


三、查询数据

1) 单表查询
    ## 查询全部
       

 select * from 表名;


    ## 别名
        直接在字段后使用即可
       

 select 字段,字段 别名,字段 from 表名;


    ## 连接符
     

   使用concat(字段名,“连接的字符”)


    ## 去除重复
       

 使用 distinct 关键字即可


    ## 排序
       

 order by 字段名


    ## where字句
       

select * from 表名 where 判断条件;


    ## 分组
     

   group by 字段名

注意:  分组可以和字段一起使用


    ## having
        分组后筛选

2) 多表查询

select * from 表名1 别名1,表名2 别名2 where 别名1.字段名 判断条件 别名2.字段名;

select * from 表名1 别名1 inner join 表名2 字段名2 on 别名1.字段名 判断条件 别名2.字段名;


## 子查询

select * from 表名 where 字段名 in (select 字段名 from 表名 where 查询条件);

##分页查询

select * from 表名 limit x,y;
x:从第几条数据开始查询
y:每页显示多少条数据

## 每页显示n条,查询第m页的信息
   

select * from 表名 limit m*n-n,n;

四、增加数据

insert into 表名 values(值1,值2,值3,...);    全字段插入
insert into 表名(主键字段名,字段,字段,...) values(值1,值2,值3,...);    部分字段插入


五、删除数据

delete from 表名 where 条件;


六、修改数据

update 表名 set 字段名=值,字段名=值,... where 条件;

 

 
七、 数据库的备份
1) 导出
## 导出整个数据库

mysqldump -u root -p 数据库名>/目录/文件名.sql;


## 只导出一个表

mysqldump -u root -p 数据库名 表名>/目录/文件名.sql;


2)导入
## 方法一 连接数据库之后输入

mysql>source /目录/文件名.sql;


## 方法二 连接数据库之前输入

mysql -u root -p 数据库名<文件名.sql;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值