显示满足列的行信息
RENAME TABLE 表名1 TO 表名2
select
select * from Websites
SELECT column_name,column_name
FROM table_name;
- SELECT name,country FROM Websites;
SELECT DISTINCT column_name,column_name
FROM table_name;
- SELECT DISTINCT country FROM Websites;
where
SELECT * FROM Websites WHERE country='CN';
'CN' 文本字段使用了单引号数值字段,请不要使用引号。
SELECT * FROM Websites WHERE id=1;
运算符 | 描述 |
---|---|
= | 等于 |
<> | 不等于。注释:在 SQL 的一些版本中,该操作符可被写成 != |
> | 大于 |
< | 小于 |
BETWEEN | 在某个范围内 |
LIKE | 搜索某种模式 |
IN | 指定针对某个列的多个可能值 |
AND
SELECT * FROM Websites
WHERE country='CN'
AND alexa > 50;
OR
SELECT * FROM Websites
WHERE country='USA'
OR country='CN';
AND OR
SELECT * FROM Websites
WHERE alexa > 15
AND (country='CN' OR country='USA');
ORDER BY
SELECT column_name,column_name
FROM table_name
ORDER BY column_name,column_name ASC|DESC;
-
Note
ORDER BY 多列的时候,先按照第一个column name排序,在按照第二个column name排序;不写明ASC DESC的时候,默认是ASC。 desc 或者 asc 只对它紧跟着的第一个列名有效,其他不受影响,仍然是默认的升序
INSERT INTO
- 无需指定要插入数据的列名,只需提供被插入的值即可:
INSERT INTO table_name
VALUES (value1,value2,value3,...);
- 需要指定列名及被插入的值:
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
id 列是自动更新的,表中的每条记录都有一个唯一的数字。
但是gbase中没变
Note
- 没有指定要插入数据的列名的形式需要列出插入行的每一列数据
- insert into select 和select into from 的区别
insert into scorebak select * from socre where neza='neza'
--插入一行,要求表scorebak 必须存在
select * into scorebak from score where neza='neza'
--也是插入一行,要求表scorebak 不存在
update
UPDATE table_name SET column1=value1,column2=value2,...WHERE some_column=some_value;
-
note
请注意 SQL UPDATE 语句中的 WHERE 子句!WHERE 子句规定哪条记录或者哪些记录需要更新。如果您省略了 WHERE 子句,所有的记录都将被更新!
set sql_safe_updates=1;使得update一定需要where 否则无效
delete
DELETE FROM table_name
WHERE some_column=some_value;
- 删除:DROP、TRUNCATE、 DELETE
DROP:
DROP test;
删除表test,并释放空间,将test删除的一干二净。
TRUNCATE:
TRUNCATE test;
删除表test里的内容,并释放空间,但不删除表的定义,表的结构还在。
DELETE:
1、删除指定数据
删除表test中年龄等于30的且国家为US的数据
DELETE FROM test WHERE age=30 AND country='US';
2、删除整个表
仅删除表test内的所有内容,保留表的定义,不释放空间。