浅识MySQL

 MySQL常用语句

#操作数据库

  ##创建数据库

CREATE DATABASE `dbName`;

  ##切换数据库

USE `dbName`;

  ##查看所有数据库

SHOW DATABASES;

  ##删除数据库(删除数据库、表、字段的时候用drop )

DROP DATABASE `dbName`;

 #操作数据库表

  ##创建表

CREATE TABLE `TabName`(
      cid INT PRIMARY KEY AUTO_INCREMENT,
      cname VARCHAR(10)
    );

  ##查看表结构

desc 表名;

  ##添加表数据

    1. 语法一: into 表名 (列名1,列2...) values(值1,值2...),(值1,值2...)...;

INSERT INTO `tab1` (cid,cname) VALUES 
(1,'name1'),
(2,'name2'),
(3,'name3');

    2. 语法二:insert into 表名(列2,列3) values(值2,值3..)...;  当主键有自动增长时,可以省略主键不写

INSERT INTO tab1(cname) VALUES ('name4');

    3. 语法三:insert into 表名 values(null,值2,值3....),(null,值2,值3..);  当主键有自动增长时,可以省略列名不写,但是要写出所有的值,主键写null

INSERT INTO tab1 VALUES (NULL,'name5');

      

  ##查看表数据

    1. 查看所有

SELECT * FROM tab1;

    2. 查看指定列

SELECT `cname` from tab1;

  ##删除表元素(删除表元素用delete或者truncate)

    语法一: delete from 表名 [where 条件]  删除表中元素,但是不重置主键的自动增长

DELETE FROM tab1 WHERE cname = 'name5';

    语法二: truncate table 表名;  删除表中元素并重置主键的自动增长

TRUNCATE TABLE `tabName`;

#操作表字段

  ##添加表字段

语法: alter table 表名 add 字段名 数据类型;
ALTER TABLE `tabName` ADD `field` VARCHAR(20);

  ##修改表字段

ALTER TABLE `tabName` CHANGE `oldField` `newField` INT;

  ##删除表字段

ALTER TABLE `tabName`DROP `fieldName`;

  


#操作字段约束 (总结规律:当涉及到修改表结构的时候,需要用到alter关键字)

  ##删除主键约束

    语法: TABLE 表名 DROP PRIMARY KEY;

ALTER TABLE `tab2 ` DROP PRIMARY KEY;

  ##设置主键约束

    语法: ALTER TABLE 表名 ADD PRIMARY KEY(列名);

ALTER TABLE `tab2 ` ADD PRIMARY KEY(`cid`);

  ##修改字段约束

    语法: ALTER TABLE 表名 MODIFY 字段 + 数据类型 + 约束名;

ALTER TABLE tab2 MODIFY `cname` VARCHAR(10) NOT NULL;

  ##设置唯一约束

    语法: ALTER TABLE 表名 ADD UNIQUE(字段);

ALTER TABLE `product` ADD UNIQUE(pname);

#查询表数据

  ##过滤表数据 --> distinct

select distinct 要过滤的字段 from 表名;

  ##给表、字段起别名 --> As(可省略)

select * from `tabName` (as) `newTabName`;

  ##在查询语句中可以执行运算操作

  例: 查询商品表中所有商品,并将价格提高1000元
    select pname, price + 1000 (as) price from `product`;

  ##模糊查询 --> like + 条件(%或者 _)  _ : 一个下划线表示一个字符;   %: 表示多个字符 

  例: 查询商品表中名称带有'男装'的商品信息
    select * from `product where pname like '%男装%';
    select * from `product` where pname like '__男装';  //例如: 劲霸安装,一个下划线_ 表示一个字符

  ##排序查询 --> order by

select * from product order by price desc;  //按照降序顺序排序
select * from product order by price (asc)  //按照升序顺序排序 asc可以省略

  ##聚合函数查询 --> 对某列的数据按照特定的函数进行查询,返回一个单一的值, 忽略值为null的数据

#在test表中插入三条数据,其中最后一条的price值为null
INSERT INTO test VALUES(NULL,20),
(NULL,300),
(NULL,NULL);
#使用聚合函数count进行查询
SELECT COUNT(price),COUNT(id) FROM test;
#查询结果如下:

    ###常用的聚合函数有以下几种:

      count: 查询非空值的字段数量

      sum: 求和

      max,min: 最大值、最小值

      avg: 平均值

  ##分组查询 --> group by

SELECT * FROM `tabName` GROUP BY `field`;  //select * from  表名 group by 字段名;

  

  ##where和having的区别

    where 用于分组前的条件过滤

    having 用于分组后的条件过滤

  

猜你喜欢

转载自www.cnblogs.com/myBlog-ahao/p/10978996.html