mysql数据库,数据表,数据的增删查改语句

查询mysql支持的引擎

1 show engines;

查询mysql支持的字符集

1 show character set;

设置mysql默认存储引擎

1 set default_storage_engine = innodb;

设置mysql默认字符集

1 set character set utf8;

查看mysql有多少数据库

1 show databases;

选择数据库

1 use `db_test`;

数据库的增

1 create database `db_test` character set utf8;

数据库的删

1 drop database `db_test`;

数据库的查

  查建库sql语句

1 show create database `db_test`;

  查数据库中有多少表

1 show tables from `db_test`;

数据库的改
  改特定数据库的字符集

1 alter database `db_test` character set utf8;

  改特定数据库的名字

暂时未知

数据表的增

1 create table `tb_test`(
2 `字段1` 类型和长度 可选的not null默认是null 可选的primary key 有主键之后才能auto_increment 可选的comment,
3 `字段2` 类型和长度 同上,
4 `其他字段...` 类型和长度 同上,
5 foreign key ( `本表除主键的字段` ) references `关联表`( `关联表的主键字段` ),
6 foreign key 同上
7 )default engine = innodb default character set = utf8;

数据表的删

1 drop table `tb_test`;

数据表的查

  查看建表语句

1 show create table `tb_test`;

  查看表结构

1 desc `tb_test`;

数据表的改

  改特定数据表的存储引擎

1 alter table `tb_test` engine = innodb;

  改特定数据表的字符集

1 alter table `tb_test` character set utf8;

  改特定数据表的名字

1 alter table `tb_test` rename `tb_new_name`;
2 rename table `tb_test` to `tb_new_name`;

数据表字段的增

  增加新字段

1 alter table `tb_test` add column `字段名` 字段类型和长度;

  增加字段的主键标识

1 alter table `tb_test` add primary key (`tb_test的字段名`);

  增加字段的外键标识

1 alter table `tb_test` add foreign key (`tb_test的字段名`) references `tb_other`(`tb_other的主键字段`);

数据表字段的删
  删除字段本身

1 alter table `tb_test` drop `字段名`;

  删除字段的主键标识

1 alter table `tb_test` drop primary key;

  删除字段的外键标识

1 alter table `tb_test` drop foreign key `字段名`;

  数据表字段的查

1 desc `tb_test`;

数据表字段的改
  改字段名字

1 alter table `tb_test` change `字段新名` `字段旧名` 字段类型和长度;

  改字段类型

1 alter table `tb_test` modify `字段名字` 字段类型和长度;

数据的增

1 insert into 
2 `tb_test`
3 ( `字段1`, `字段2`, `其他字段...` )
4 values
5 ( '1', '字符串', '2019-05-11 20:20:12' )

数据的删

1 delete from `tb_test` where where_condition;

数据的查

  查询所有字段

1 select * from `tb_test`;


  查询部分字段

1 select `字段1`, `字段2`, `字段其他...` from `tb_test`;


  对查询出来的字段进行计算

1 select `字段1` * `字段2` from `tb_test`;


  使用字段别名查询

1 select `字段1` as '字段1别名', `字段2` as '字段2别名' from `tb_test`;


  消除重复的记录(行)

1 select distinct `字段1` from `tb_test`;


  简单条件查

1 select * from `tb_test` where `字段1` > 1;


  复合条件查

1 select * from `tb_test` where `字段1` > 1 and `字段2` < 2;


  指定范围查询
  与或非(and or not)
  between and ( == 于大于等于小于等于)

select * from `tb_test` where 条件1 and 条件2;
select * from `tb_test` where 条件1 or 条件2;
select * from `tb_test` where `字段` not 条件;
select * from `tb_test` where `字段` not between 2 and 3;


  指定集合查询

1 select * from `tb_test` where in ( '值1', '值2', '值3', '值4' );
2 select * from `tb_test` where not in ( '值1', '值2', '值3', '值4' );


  查询某个字段为空

1 select * from `tb_test` where `字段` is null;


  模糊查询

1 select * from `tb_test` where `字段` like '值1_';
2 select * from `tb_test` where `字段` like '值1%';
3 select * from `tb_test` where `字段` like '%值1%';
4 select * from `tb_test` where `字段` like '%值1';


  查询排序

1 select * from `tb_test` order by `字段`;
2 select * from `tb_test` order by `字段` asc;
3 select * from `tb_test` order by `字段` desc;
4 select * from `tb_test` order by `字段1` asc, `字段2` desc;


  查询条数限制

1 select * from `tb_test` limit 10;
2 select * from `tb_test` limit 0, 10;


  聚合函数查询

1 select max( * ) from `tb_test`;
2 select min( * ) from `tb_test`;
3 select count( * ) from `tb_test`;
4 select sum( * ) from `tb_test`;
5 select avg( * ) from `tb_test`;


  分组查询

 1     //简单分组
 2 select * from `tb_test` group by `字段1`;
 3     //分组筛选
 4 select * from `tb_test` group by `字段1` having `字段2` = 1;
 5     //分组排序
 6 select * from `tb_test` group by `字段1` order by `字段2` desc;
 7     //统计功能分组查询
 8 select group_concat( `字段1` ) from `tb_test` group by `字段1` order by `字段2` desc;
 9     //多分组查询
10 select * from `tb_test` group by `字段1`, `字段2`;


  多表查询
    内连接

 1       //内连接两个表
 2 select 表1.字段, 表2.字段 from 表1
 3 inner join 表2 on 表1.字段 = 表2.字段;
 4       // 5 select 表1.字段, 表2.字段 from 表2
 6 inner join 表1 on 表1.字段 = 表2.字段; 
 7       // 8 select 表1.字段, 表2.字段 from 表1, 表2
 9 where 表1.字段 = 表2.字段;
10       //内连接三个表
11 select 表1.字段, 表2.字段, 表3.字段 from 表1
12 inner join 表2 on 表1.字段 = 表2.字段
13 inner join 表3 on 表1.字段 = 表3.字段
14       //15 select 表1.字段, 表2.字段, 表3.字段 from 表1
16 inner join 表2 on 表1.字段 = 表2.字段
17 inner join 表3 on 表2.字段 = 表3.字段
18       //19 select 表1.字段, 表2.字段, 表3.字段 from 表1
20 where 表1.字段 = 表2.字段 and 表1.字段 = 表3.字段;
21       //22 select 表1.字段, 表2.字段, 表3.字段 from 表1
23 where 表1.字段 = 表2.字段 and 表2.字段 = 表3.字段; 

    外连接





数据的改

1 update `tb_test` set `字段1` = 值 , `字段2`=where where_condition;

猜你喜欢

转载自www.cnblogs.com/zxcv123/p/11760100.html