MySQL数据库语句总结(详细版)

本文全面介绍了SQL语言的基础操作,包括数据库结构的创建、修改、删除、查询,以及数据的插入、删除、更新和查询等核心功能。涵盖了从数据库、表、视图到存储过程、函数、触发器和索引的全方位管理,是SQL初学者和专业人员的实用指南。

**

一、 create

**
1.创建数据库:

	create database db1 character set utf8

2.创建数据库表:

	create table tab1(
		列名1 数据类型1,
		列名2 数据类型2,
		....
		列名n 数据类型n
	);

3.创建视图:

 CREATE VIEW city_country AS	SELECT t1.*,t2.country_name FROM city t1,country t2 WHERE t1.cid=t2.id;

4.创建存储过程:

	DELIMITER $
		CREATE PROCEDURE 存储过程名称(参数...) 
		BEGIN  .... END$
		DELIMITER ;

5.创建存储函数:

	DELIMITER $ 
		CREATE FUNCTION 函数名称([参数 数据类型])
		RETURNS 返回值类型
		BEGIN
			执行的sql语句;
			RETURN 结果;
		END$
		DELIMITER ;

6.创建触发器:

	DELIMITER $
		CREATE TRIGGER 触发器名称   -- Trigger:触发器
		BEFORE|AFTER INSERT|UPDATE|DELETE  -- 之前|之后 插入|更新|删除(触发器类型)
		ON 表名
		[FOR EACH ROW]  -- 行级触发器
		BEGIN
			触发器要执行的功能;
		END$
		DELIMITER ;

7.创建索引:

CREATE [UNIQUE|FULLTEXT] INDEX 索引名称 
ON 表名(列名...);

二、 drop

1.删除数据库:

 drop database db1

2.删除数据库表:

drop table table1 

3.删除列 :

ALTER TABLE product3 DROP 列名;

4.删除视图:

DROP VIEW view1

5.删除存储过程/函数:

DROP PROCEDURE/function 存储过程/函数名称;

6.删除触发器:

DROP TRIGGER 触发器名称;

7.删除索引:

DROP INDEX 索引名称 ON 表名;

三、 alter

1.修改数据库编码:

alter database db1 character set utf8

2.修改数据库表编码:

alter table tab1 character set utf8

修改数据库表 - 添加列:

alter table tab1 add 列名 数据类型

修改数据库表 - 修改列类型:

alter table tab1 modify 列名 新数据类型

修改数据库表 - 修改列名和类型:

alter table tab1 change 列名 新列名 新数据类型

修改数据库表 - 删除列:

alter table tab1 drop 列名

修改数据库表 - 添加主键:

ALTER TABLE student MODIFY id INT PRIMARY KEY;

修改数据库表 - 删除主键:

ALTER TABLE student DROP PRIMARY KEY;

修改数据库表 - 添加自动增长:

ALTER TABLE student2 MODIFY id INT AUTO_INCREMENT;

修改数据库表 - 删除自动增长:

ALTER TABLE student2 MODIFY id INT;

修改数据库表 - 添加唯一约束:

ALTER TABLE student3 MODIFY tel VARCHAR(20) UNIQUE;

修改数据库表 - 删除唯一约束:

ALTER TABLE student3 DROP INDEX tel;

修改数据库表 - 添加非空约束:

ALTER TABLE student4 MODIFY NAME VARCHAR(20) NOT NULL;

修改数据库表 - 删除非空约束:

ALTER TABLE student4 MODIFY NAME VARCHAR(20);

修改数据库表 - 添加外键约束:

ALTER TABLE orderlist ADD  FOREIGN KEY (uid) REFERENCES USER(id);

修改数据库表 - 删除外键约束:

 ALTER TABLE orderlist DROP FOREIGN KEY ou_fk1;

修改数据库表 - 添加索引:

ALTER TABLE 表名 ADD INDEX 索引名称(列名);  -- 普通索引

3.修改视图:

alter VIEW city_country AS	SELECT t1.*,t2.country_name FROM city t1,country t2 WHERE t1.cid=t2.id;

四、 show

1.查询所有数据库:

show databases

2.查询数据库建库语句:

show create database db1

3.查询所有数据库表和视图:

show tables

4.查询建表语句:

show create table table1

5.查询建视图语句:

show create view view1

6.查看触发器:

SHOW TRIGGERS;

7.查看索引:

SHOW INDEX FROM 表名;

------------------------------以上是数据库结构的操作,以下是数据操作-----------------------------------

五、 insert into:插入数据

1.默认给全部列添加数据:

INSERT INTO product VALUES (3,'电视',2999,18,'2099-06-06');

2.添加指定列数据:

INSERT INTO product (id,NAME,price) VALUES (2,'电脑',4999);

3.添加多条数据:

INSERT INTO product (id,NAME,price) VALUES (6,'微波炉',499),(7,'电磁炉',899);

六、 delete :删除数据 (视图和表的查询语句基本上通用)

DELETE FROM product WHERE NAME='微波炉';

七、 update set更新数据 (视图和表的查询语句基本上通用)

1.更新一个数据:

UPDATE product SET price=3500 WHERE NAME='手机';

2.更新多个数据:

UPDATE product SET price=1800,stock=36 WHERE NAME='电视';

八、 select:查询数据 (视图和表的查询语句基本上通用)

1.查询所有数据:

SELECT * FROM product; 

2.查询某几列数据:

SELECT NAME,price,brand FROM product;

3.去重查询:

SELECT DISTINCT brand FROM product;

4.范围查询:

SELECT * FROM product WHERE price BETWEEN 4000 AND 6000;

5.IN查询:

SELECT * FROM product WHERE stock IN(14,30,23); 

6.模糊查询:

SELECT * FROM product WHERE stock IN(14,30,23); 

7.空查询:

SELECT * FROM product WHERE stock IS NULL;

8.聚合查询:

SELECT MAX(price) FROM product;   
max,min count,sum,avg

9.排序查询:

SELECT * FROM product ORDER BY stock ASC;

10.分组查询:

SELECT brand,SUM(price) FROM product GROUP BY brand;

11.分页查询:

SELECT * FROM product LIMIT 0,2; (开始索引,查询条数)(公式:开始索引 = (当前页码-1) * 每页显示的条数)

12.内连接:

SELECT u.name,u.age,o.number FROM user u,orderlist o WHERE u.id=o.uid;

13.外连接:

SELECT u.name,u.age,o.number FROM user u left/right outer join orderlist o WHERE u.id=o.uid;

14.子查询:

SELECT NAME,age FROM USER WHERE age = (SELECT MAX(age) FROM USER);

15.自关联查询:

SELECT t1.name,	t1.mgr,t2.id,t2.name  FROM employee t1  LEFT OUTER JOIN employee t2  ON t1.mgr = t2.id;

16.查看存储过程:

SELECT * FROM mysql.proc WHERE db='数据库名称';

九、总结:

1. createdropaltershow : 
		是对数据库结构的增删改查,例如:数据库,表,视图,存储过程/函数,触发器,索引
2. insert into valuesdelete fromupdate setselect from:
		是对数据的增删改查,例如:表数据,视图数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值