sql
sql用于各种数据库的数据类型
http://www.runoob.com/sql/sql-datatypes.html
(菜鸟教程可真是个好东西)
-
一个创建table的代码:
CREATE TABLE Product
(
product_id CHAR(4) NOT NULL,
product_name VARCHAR(100) NOT NULL,
product_type VARCHAR(32) NOT NULL, //not null给这三列数据加了约束,使这三列成为必输项,否则会报错
sale_price INTEGER ,
purchase_price INTEGER ,
regist_date DATE ,
PRIMARY KEY (product_id)); //主键约束 -
语句
删除表:DROP TABLE 表名;
增加列:ALTER TABLE 表名 ADD COLUMN 列的定义;
删除列:ALTER TABLE 表名 DROP COLUMN 列名;
插入数据:
START TRANSACTION; —————————①以mysql为例。在SQL Server中使用BEGIN
INSERT INTO Product VALUES (‘0001’, 'T 恤衫 ', ’ 衣服 ', 1000, 500, ‘2009-09-20’);
COMMIT;
变更表名:RENAME TABLE 旧表名 to 新表名;
查看表单什么的:SHOW DATABASES/TABLES;
列出表中所有的列:SELECT 星号 FROM 表名;
条件约束选取:SELECT 列名 FROM 表名 WHERE 条件表达式;
算数运算:SELECT product_name, sale_price, sale_price * 2 AS “sale_price_x2” FROM Product;(可以用来加一行平均值或者总和之类的)
对集合进行条件约束:HAVING语句。HAVING后面是条件限制语句,写在GROUP BY之后!!!
排序:正序:ORDERED BY 列名 ASC(一般都被省略了) 倒序:ORDERED BY 列名 DESC -
HAVING 和 WHERE 的区别:
WHERE 子句 = 指定行所对应的条件
HAVING 子句 = 指定组所对应的条件
WHERE语句的速度更快,返回时间更短 -
任何数和null进行算数运算的结果都是null
也不能对null使用比较运算。 -
运算符:↑
-
error:NO DATABASE SELECTED:
报错原因:没有使用数据库
解决方案:首先建立数据库,再在其中建立数据表:
create database (database name);
use (database name); -
COUNT 函数的结果根据参数的不同而不同。 COUNT (*) 会得到包含 NULL 的数据
行数,而 COUNT (< 列名 >) 会得到 NULL 之外的数据行数。 -
设置汉语别名的时候需要用双引号括起来!
-
注释:
·单行 : –
·多行: /* … */ -
想要计算值的种类时,可以在 COUNT 函数的参数中使用 DISTINCT 。
代码:SELECT COUNT(DISTINCT 列名) FROM 表名; -
顺序:
SELECT(COUNT/SUM/etc.)→
FROM→
WHERE→
GROUP BY→
HAVING→
ORDER BY -
List item