东西学了不用真是看完就忘
有空要多练习才行
老忘好浪费
基本:
select:获取数据
select A from tableA;
select * from tableA;
select distinct:获取排重的数据
select distinct A from tableA;
select where:获取满足条件的数据
select A from tableA where A=“练习”;
还有且and,或or,非not;通配符%可以是一个或者多个字符,_是一个字符;
排序:
select A from tableA order by A ;
默认是升序(ASC),降序是(DESC)
插入行数据:
INSERT INTO tableA (A,B,C) VALUES (1,2,3);这个是指定插入到那些列的
INSERT INTO tableA VALUES (1,2,3);这个是给表里的所有列添加数据的
更新某个或多个记录:
update tableA
set A=1,B=2
where C=3;
删除行数据:
delete from tableA where A=1;
(没有where的话,就会删除所有的行,但是不会删除表,是表还在,但表是空的了,用truncate也可以达到相同效果)
返回指定数量以及条件的数据:
select * from tableA
where A=1
limit 10;
内链接:
select tableA.A,tableB.B,tableA.C
from tableA
inner join tableB on tableA.A=tableB.B;
左链接:
select tableA.A,tableB.B,tableA.C
from tableA
left join tableB on tableA.A=tableB.B;
右链接:
select tableA.A,tableB.B,tableA.C
from tableA
right join tableB on tableA.A=tableB.B;
全链接:
select tableA.A,tableB.B,tableA.C
from tableA
full outer join tableB on tableA.A=tableB.B;
组合两个或更多SELECT语句的结果集(选择的要是相同的列)
select A from tableA
union
select A from tableB;
默认情况下,UNION 运算符选择一个不同的值。如果允许重复值,使用 UNION ALL。
复制数据到另外一个表去:
SELECT *
INTO tableA IN 'test.mdb'
FROM tableA;
SELECT INTO 语句可以用于在另一种模式下创建一个新的空表。只需添加WHERE子句,使查询返回时没有数据:
SELECT *
INTO newtable
FROM table1
WHERE 1=0;
我们可以将所有列从一个表中复制到另一个已经存在的表中:
INSERT INTO table2
SELECT * FROM table1;
删除:
删除索引:ALTER TABLE table_name DROP INDEX index_name
删除表:DROP TABLE table_name
删除数据库:DROP DATABASE database_name
创建:
创建数据库:create database testdatabase;
创建表:CREATE TABLE table_name
(
column_name1 data_type(size),
column_name2 data_type(size),
column_name3 data_type(size),
....
);
ALTER TABLE 语句
ALTER TABLE 语句用于在现有表中添加、删除或修改列。
Auto-increment 会在新记录插入表中时生成一个唯一的数字。
在 SQL 中,视图是基于 SQL 语句的结果集的可视化表。
视图包含行和列,就像真正的表一样。视图中的字段是一个或多个数据库中真实表中的字段。
您可以添加 SQL 函数,在哪里添加,并将语句连接到视图,或者您可以呈现数据,就像数据来自单个表一样。
创建视图
CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition;
更新视图:
CREATE OR REPLACE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition;
删除视图:DROP VIEW view_name;
别名:select A as aa from tableA;或select A from tableA as aa;
第一句是列的别名,第二句是标的别名
约束:
函数:
MAX();MIN();COUNT();AVG();SUM();FIELD();FIRST();LAST();UPPER();LOWER();UCASE();LCASE();MID();LEN();ROUND();NOW();FORMAT();SQRT();RAND();CANCAT();ISNULL();NVL();IFNULL();REPLACE();TRIM();