数据库基本操作

1.数据库

CREATE DATABASE DatabaseName;
#查看数据库
SQL> SHOW DATABASES;
#删除
DROP DATABASE DatabaseName;
#使用数据库
USE DatabaseName;

2.表操作

创建表

SQL> CREATE TABLE CUSTOMERS(
   ID   INT              NOT NULL,
   NAME VARCHAR (20)     NOT NULL,
   AGE  INT              NOT NULL,
   ADDRESS  CHAR (25) ,
   SALARY   DECIMAL (18, 2),       
   PRIMARY KEY (ID)
);
#展示表字段
SQL> DESC CUSTOMERS;

删除表

DROP(DELETE) TABLE table_name;

插入表

INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)] 
VALUES (value1, value2, value3,...valueN);
#如
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) 
VALUES (1, 'Ramesh', 32, 'Ahmedabad', 2000.00 );

用一个表填充另一个表:
可以通过使用select语句填充一个表的数据到另一个表中的字段,这是必需的,以填充第一个表。下面是语法:

INSERT INTO first_table_name [(column1, column2, ... columnN)] 
SELECT column1, column2, ...columnN FROM second_table_name 
[WHERE condition];

查询表

SELECT column1, column2, columnN FROM table_name;

WHERE子句不只是用在SELECT语句,它也用于UPDATE,DELETE等语句,我们将在以后的章节研究学习。

SELECT column1, column2, columnN FROM table_name
WHERE [condition]
#例子
SQL> SELECT ID, NAME, SALARY FROM CUSTOMERS
WHERE NAME = 'Hardik';

and和or

SELECT column1, column2, columnN FROM table_name
WHERE [condition1] AND [condition2]...AND [conditionN];
#例子
SQL> SELECT ID, NAME, SALARY FROM CUSTOMERS
WHERE SALARY > 2000 AND age < 25;
SELECT column1, column2, columnN FROM table_name
WHERE [condition1] OR [condition2]...OR [conditionN]
#例子
SQL> SELECT ID, NAME, SALARY FROM CUSTOMERS
WHERE SALARY > 2000 OR age < 25;

update表

UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];
#例子
SQL> UPDATE CUSTOMERS
SET ADDRESS = 'Pune', SALARY = 1000.00;

DELETE查询用来从表中删除现有的记录。

DELETE FROM table_name
WHERE [condition];
#删除某一个
SQL> DELETE FROM CUSTOMERS
WHERE ID = 6;
#删除所有记录
SQL> DELETE FROM CUSTOMERS;

like语句
(%)百分号代表零个,一个或多个字符。
(_)下划线表示单个数字或字符。所述符号可以在组合使用。

WHERE SALARY LIKE '200%'    查找以200开始的任何值
WHERE SALARY LIKE '%200%'   查找含有200的任何值
WHERE SALARY LIKE '_00%'    查找在第二和第三位置是00的任何值
WHERE SALARY LIKE '2_%_%'   查找开始2并且长度至少为3个字符的任何值
WHERE SALARY LIKE '%2'  查找以2结尾的任何值
WHERE SALARY LIKE '_2%3'    查找第二位置为2,并以3结束的任何值
WHERE SALARY LIKE '2___3'   查找以5位数字-开头为2,并3结束的任何值

SQL TOP子句用于从表中获取一个TOP N数字或X%的纪录。
注意: 不是所有的数据库都支持TOP子句。例如,MySQL使用LIMIT子句来获取记录;Oracle使用ROWNUM获取有限的记录数。

SELECT TOP number|percent column_name(s)
FROM table_name 
WHERE [condition]
#例子
SQL> SELECT TOP 3 * FROM CUSTOMERS;
#mysql
SQL> SELECT * FROM CUSTOMERSLIMIT 3;
#orace
SQL> SELECT * FROM CUSTOMERSWHERE ROWNUM <= 3;

SQL ORDER BY子句
用于按升序或降序排序数据在一列或多列的基础上。一些数据库默认排序查询结果按升序排列。

SELECT column-list FROM table_name
 [WHERE condition] 
[ORDER BY column1, column2, .. columnN] [ASC | DESC];

#下面是一个例子,将结果通过NAME和SALARY升序排序:
SQL> SELECT * FROM CUSTOMERS ORDER BY NAME, SALARY;

#获取使用自己的优先顺序行,SELECT查询将如下:
SQL> SELECT * FROM CUSTOMERS 
ORDER BY (CASE ADDRESS 
WHEN 'DELHI' THEN 1 
WHEN 'BHOPAL' THEN 2 
WHEN 'KOTA' THEN 3 
WHEN 'AHMADABAD' THEN 4 
WHEN 'MP' THEN 5 
ELSE 100 END)  ASC, ADDRESS DESC;

GROUP BY子句用于协同SELECT语句用来安排相同的数据分组。
GROUP BY子句在SELECT语句的WHERE子句之后并ORDER BY子句之前

SELECT column1, column2
FROM table_name
WHERE [ conditions ]
GROUP BY column1, column2
ORDER BY column1, column2
#如果你想知道每个客户的薪水的总额,使用GROUP BY查询如下所示
SQL> SELECT NAME, SUM(SALARY) FROM CUSTOMERS GROUP BY NAME;

SQL DISTINCT关键字与SELECT语句一起使用,以消除所有重复的记录和获取的唯一记录。
可能有一种情况,当你在一个表中多个重复的记录。 当获取这些记录,它获取的唯一记录更有意义,而不是获取重复记录。

SELECT DISTINCT column1, column2,.....columnN 
FROM table_name
WHERE [condition]
#SELECT查询返回重复的工资记录:
SQL> SELECT DISTINCT SALARY FROM CUSTOMERS 
ORDER BY SALARY;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354

推荐阅读更多精彩内容