SQL

SQL

1
2
USE test;
CREATE TABLE customer LIKE companysales.customer;

test表中拷贝companysales数据库中的customer表(不拷贝数据)

1
2
USE test;
CREATE TABLE customer2 SELECT * FROM companysales.customer;

test表中创建companysales数据库中customer表的副本

DESCRIBE

1
DESCRIBE customer;

查看customer表结构

show create table

1
SHOW CREATE TABLE customer;

展示customer的表结构

1
2
INSERT INTO employee(employeename,sex,birthdate,hiredate,salary,departmentid)
VALUE('你妈','女','1980-2-1','2016-8-9',3400,1)

插入行

1
UPDATE employee SET salary = salary * 10;

更新表数据

PRIMARY KEY(KEY1,KEY2)

组合主键

删除主键

1
2
3
ALTER TABLE table_name

DROP PRIMARY KEY
1
2
ALTER TABLE borrow
ADD CONSTRAINT pk_key PRIMARY KEY(bookid, borrowerid);

添加主键

1
2
ALTER TABLE table_name
ADD PRIMARY KEY(KEY)

复制表

CREATE TABLE aaa SELECT * FROM companysales.department

复制过来后,主键和自增都没有了

外键

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
--1,sql语句创建表的同时添加外键约束
CREATE TABLE tb_UserAndRole --用户角色表
(
ID INT PRIMARY KEY IDENTITY(1,1),
UserID INT NOT NULL,--用户ID
RoleID INT NOT NULL,--角色ID
foreign key(UserID) references tb_Users(ID)--tb_Users表的ID作为tb_UserAndRole表的外键
)

--2、添加外键约束(关联字段要用括号括起来)
-- ALTER TABLE 从表
-- ADD CONSTRAINT 约束名 FOREIGN KEY (关联字段) references 主表(关联字段);
--例如:
  ALTER TABLE tb_UserAndRole
ADD CONSTRAINT FK__tb_UandR_Role FOREIGN KEY (RoleID) references tb_Role(ID);

删除外键

1
2
ALTER TABLE Orders
DROP FOREIGN KEY fk_PerOrders

SQL 去除重复行 DISTINCT

1
SELECT DISTINCT departmentid FROM employee

SQL指定查询的列名

1
SELECT employeename 员工姓名,sex 员工性别 FROM employee;

1
SELECT employeename AS 员工姓名,sex  AS 员工性别 FROM employee;

NOW()

获取当前时间的函数

范围 BETWEEN ··· AND

列表 IN , NOT IN

字符串 LIKE , NOT LIKE

空 IS NULL , IS NOT NULL

逻辑 AND OR NOT

IN , NOT IN

查询员工工资是3000,5000,7000的

1
2
SELECT employeename AS 员工姓名,salary  AS 员工工资 FROM employee
WHERE salary IN(3000,5000,7000)

多分组

1
GROUP BY A,B

GROUP_CONCAT

LIMIT

SQL联接

交叉联接 CROSS JOIN

表A的每个字段和表B的每个字段相联接

INNER JOIN

NNER JOIN 关键字在表中存在至少一个匹配时返回行。

1
2
3
4
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name=table2.column_name;
1
2
3
4
5
##查询员工“孔高铁”的销售业绩,包括商品名称、数量、金额。
SELECT productname 商品名称,SUM(sellordernumber) 数量 ,price ,SUM(price*sellordernumber) AS 金额 FROM `employee`
JOIN `sell_order` ON `employee`.employeeid = `sell_order`.employeeid AND `employee`.employeeid = 6
JOIN `product` ON sell_order.productid = `product`.productid
GROUP BY `product`.productid WITH ROLLUP

ON 链接条件

on 条件是在生成临时表时使用的条件,它不管 on 中的条件是否为真,都会返回左边表中的记录。

WITH ROLLUP

跟在GROUP BY 后面,用于汇总上面的所有数据

在临时表中添加一列自增字段

1
SELECT  @rownum:=@rownum+1 as 'index',organization,img_name FROM  (select @rownum:=0)t,all_img

贼屌这个,要记住,from中一定要加(select @rownum:=0)t

打赏
  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!
  • © 2020-2021 ZHF
  • Powered by Hexo Theme Ayer
  • PV: UV:

请我喝杯咖啡吧~

支付宝
微信