基本名词

  • SQL(Structured Query Language): 用于访问和处理数据库的标准计算机语言
  • RDBMS(relational database management system):关系型数据库管理系统,包括 MS Access/MySQL/SQL Server
    • RDBMS 是 SQL 的基础
    • 里面的数据存储在被称为 表 的数据库对象中
    • 表 是相关的数据项的集合,由 列和行组成

SQL 作用

  • 面向数据库执行查询
  • 从数据库取回数据
  • 在数据库中插入新记录
  • 更新数据库中的数据
  • 从数据库删除数据
  • 创建新数据库
  • 在数据库中创建新表
  • 在数据库创建存储过程
  • 在数据库创建视图
  • 设置表、存储过程、视图的权限

数据库表

一个数据库包含一个或多个表,每个表由一个名字标识(例如 "websites"),表包含带有数据的记录。

SQL 语句后面的分号,作用是可以在对服务器的相同请求中执行一条以上的 SQL 语句。

SQL 常用命令

  • select : 从数据库中提取数据
    • select column_name,column_name from table_name; //选择显示指定列的数据
    • select * from table_name; //选择所有列
  • select DISTINCT 用于放回唯一不同的值
    • select DISTINCT column_name, column_name from table_name;
  • select * from table_name WHERE column_name operator value; //过滤提取满足制定标准的数据
    • 例如:select * from websites WHERE country='CN'; //SQL 使用引号环绕文本值,数值字段则不需要
    • select * from websites WHERE id=2;
    • ADD & OR 运算符
    • select * from websites where country="CN" and alexa > 50;
    • select * from websites where country="CN" or country="USA";
    • select * from websites where (country="CN" or country="USA") and alexa > 15; //and 和 or 混合使用
  • select column_name,column_name from table_name order by column_name,column_name ASC|DESC; //order by 用于对结果集按照一列或多列进行排序,默认为升序,DESC 表示降序
    • select * from websites order by alexa;
    • select * from websites order by alexa desc;
    • select * from webistes order by country, alexa; //先按照 country 值排序,再对同一 country 内部按照 alexa 排序
  • UPDATE :更新数据库中数据
    • update table_name set column1=value1, column2=value2,... where some_column=some_value;
    • update websites set alexa=5000, country="USA" where name="菜鸟编程";
  • DELETE:从数据库删除数据
    • delete from table_name where some_column=some_value;
    • delete from websites where name="百度" and country="CN";
  • INSERT INTO:向数据库插入新数据
    • insert into table_name values (value1, value2, value3,...); //未指定插入数据的列名,只提供插入值
    • insert into values ("1", "Google", "https://www.google.com", "2", "USA"); //未指定列名时,需要提供每列对应的数据
    • insert into table_name (column1, column2, column3,...) values (value1, value2, value3,...); // 指定列名及插入值
    • insert into websietes (name, url, alexa, country) values ("百度", "https://www.baidu.com/", "4", "CN");
  • CREATE DATABASE:创建新数据库
  • ALTER DATABASE:修改数据库
  • CREATE TABLE:创建新表
  • ALTER TABLE:修改数据库表
  • DROP TABLE:删除表
  • CREATE INDEX:创建索引
  • DROP INDEX:删除索引
2017-10-01 11:11
Comments
Write a Comment