美文网首页
mysql常用语句

mysql常用语句

作者: Aleph_Zheng | 来源:发表于2019-01-13 22:06 被阅读6次

插入数据

INSERT INTO customers(cust_name,cust_address) VALUES('Danny','New York');

插入检索出的数据

一般用于合并旧表,注意新表和旧表id(主键)不能重复,否则有冲突

INSERT INTO new_customers(new_cust_name,new_cust_address) SELECT cust_name,cust_address from customer;

更新数据

UPDATE customers SET cust_name = 'Jessy' WHERE cust_id = 1001;

删除数据

注意,这里指的是删除表的内容,比如customer表的某一个用户信息,而不删除表本身

  • 删除特定的行
DELETE FROM customers WHERE cust_id=1001;

注意这里相比UPDATE,需要添加FROM表示从哪个表删除

  • 删除所有行(清空表)
DELETE FROM customers;
  • 清空表TRUNCATE

作用与delete from删除表数据相同,但是根据《Mysql crash course》建议,清空表中所有数据使用TRUNCATE更高效,因为它是删除整张表(包括结构),再创建一个新的空表。

TRUNCATE customers;

建议:在UPDATE或者DELETE之前。建议使用SELECT确保要更新或者删除的数据准确。

删除整张表,包括表名

drop table customer;

创建表

CREATE TABLE new_cust(
  cust_id int NOT NULL AUTO_INCREMENT,
  cust_name char(50) NOT NULL,
  cust_addr varchar(32) NULL,
  PRIMARY KEY (cust_id)
)ENGINE=InnoDB;

ENGINE需要注意两点
1.InnoDB支持事务,不支持全文检索;Myisam不支持事务,支持全文检索;
2.外键不支持跨引擎

修改表的字段

添加字段(列)

ALTER TABLE new_cust ADD cust_phone char(20) NULL;

删除字段(列)

ALTER TABLE new_cust DROP COLUMN cust_phone;

修改字段

alter table <表名> change <字段名> <字段新名称> <字段的类型>。
ALTER TABLE customers CHANGE name c_name varchar(32);

添加外键

ALTER TABLE Orders
ADD CONSTRAINT fk_Orders_Persons
FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id);

fk_Orders_Persons为外键名称

删除外键

ALTER TABLE Orders
DROP FOREIGN KEY fk_Orders_Persons

重命名表

RENAME TABLE customers TO customer

视图

  • 为什么使用视图
    • 重用SQL语句
    • 简化复杂的SQL操作,不必关系细节
    • 使用表的组成部分而不是整张表
    • 保护数据
    • 更改数据格式和表示

创建视图(联结多张表)

CREATE VIEW productcustomers AS
SELECT cust_name,cust_contact,prod_id
FROM customers,orders,orderitems
WHERE customers.cust_id=orders.cust_id
AND orderitems.order_num =  orders.order_num;

上面联结了三张表
orderitems是订单商品信息,
orders是订单信息,包含创建日期和客户id
customers是客户信息表

这样productcustomers就是订购了任意产品的客户名称和商品信息表(虚拟)

使用视图

SELECT cust_name,cust_contact,prod_id FROM productcustomers
WHERE prod_id='TNT2';

使用视图格式化数据

加入我们要返回下面的格式化数据

SELECT Concat(Rtrim(vend_name), '(' , Rtrim(vend_country),')')
AS vend_title FROM vendors
ORDER BY vend_name;
image.png

使用视图的话,就不必每次都创建这样的格式,而是可以直接复用格式。

CREATE VIEW vendorlocations AS
SELECT Concat(Rtrim(vend_name), '(' , Rtrim(vend_country),')')
AS vend_title FROM vendors
ORDER BY vend_name;

这样我们就可以直接使用了

SELECT * FROM vendorlocations;
image.png

视图的更新

视图的更新需要根据情况
以下情况是不能更新的

  • 分组(groupby,having)
  • 联结
  • 子查询
  • 聚集函数(MIn(),Count(),Sum()等)
  • DISTINCT
  • 导出列(计算列)

实际上,我们应该谨慎使用视图更新,因为视图主要就是用于方便数据检索的。而不是普通的数据表。

相关文章

  • BigData-MySQL总结大全(一)苏暖人

    BigData之MySQL总结大全 MYSQL常用的基本语句 MYSQL常用的基本语句 例:SELECT TOP ...

  • MySQL常用语句

    MySQL常用语句 tags: MySQL 常用语句 语法 随便写的标签 建表 insert 语句 msyql 把...

  • MySQL常用语句

    本篇主要是归纳一下最常用、入门的 MySQL 语句。以安装完 MySQL 登录为起点,简单总结一下常用的几条语句。...

  • Mysql 语句

    Mysql 语句 Mysql 语句以考察各种常用连接为重点 几种常见连接 内连接(INNER JOIN):两个表都...

  • MYSQL | 常用mysql语句

    1、创建数据库 2.删除数据库 3.选择数据库 4.创建表 注意: 5.删除数据表: 6.向数据表插入数据 插入所...

  • mysql(二)——用户管理、数据备份、常用sql语句

    13.4 mysql用户管理13.5 常用sql语句13.6 mysql数据库备份恢复 13.4 mysql用户管...

  • MySQL常用操作(二)

    摘要:13.4 mysql用户管理 13.5 常用sql语句 13.6 mysql数据库备份恢...

  • MySQL的SQL语句执行过程

    理解MySQL当中的SQL语句 MySQL的sql语句和我们常用的编程语句一样,都是我们输入文本,编译器编译或者解...

  • MySQL的函数认识

    理解MySQL当中的SQL语句 MySQL的sql语句和我们常用的编程语句一样,都是我们输入文本,编译器编译或者解...

  • 常用MYSQL语句

    MySQL的SQL语句写法,除了那些基本的之外,还有一些也算比较常用的,这里记录下来,以便以后查找。 好记性不如烂...

网友评论

      本文标题:mysql常用语句

      本文链接:https://www.haomeiwen.com/subject/smgldqtx.html