数据库常见命令总结

---------------------------------------------------------------------SQL
structured query language. ANSI (American National Standards Institute) standard.
功能如下:
- 对一个数据库进行查询
- 从数据库中抓取数据
- 在数据库中插入record
- 在数据库更新record
- 从数据库中删除record
- 创建新的database
- 在数据库中创建新的table
- 在数据库中创建存储的过程(procedure)
- 在数据库中创造view
- 可以对tables, procedures和views设置权限。

以下是建立一个网站的必须:
- An RDBMS database program (i.e. MS Access, SQL Server, MySQL)-》Relational Database Management System. 其中存储的数据对象叫做tables,然table的话是相关的数据入口的集合,其中包括了行和列。
- A server-side scripting language, like PHP or ASP
- SQL
- HTML / CSS


2 SQL的语法
数据库的table
     tables 包含了带着数据的records(rows)
    
SQL 声明
     SELECT * FROM Persons 将会吧Persons table中所有的records都选中,声明大小写无所谓
    
SQL的 Data Manupulation language(DML)和Data Definition Language(DDL)
     Query and updata part from DML
          SELECT - 从数据库中取数据
          UPDATA - 往数据库里更新数据
          DELETE - 从数据库中删除数据
          INSERT INTO - 往数据库中插入新的数据
    
     DDL部分主要是允许数据库的tables被建立或删除,它也会定义索引(keys),指定tables之间的联系,以及在table之间增加限制
          CREATE DATABASE - 建立新的数据库
          ALTER DATABASE - 修改一个数据库
          CREATE TABLE - 建立一个新的table
          ALTER TABLE
          CREATE INDEX - 建立一个index key(搜索用)
          DROP INDEX - 删除一个index
          DROP TABLE table_name 删除一个table
          TRUNCATE TABLE table_name 删除table中的内容,但是保留table本身。
         
SQL SELECT 声明
     SELECT column_name(s) FROM table_name
     SELECT * FROM table_name 全选
     内容存储到result_set中
    
     在result_set中的导航
          属于php的内容了
         
SQL SELECT DISTINCT 声明
     在一个table里面,有时候可能不同的行有相同的列值,当只想返回不同的值的时候(同一列里面相同的值只返回一次)
     SELECT DISTINCT column_name(s) FROM table_name
    
SQL WHERE 子句(clause)
     用来提取那些只满足特定条件的records
     SELECT column_name(s) FROM table_name WHERE column_name operator value
     字符 value的周围要加上单引号来表示引用,数字value则不用加
     以下符号被允许:= <> > < >= <= BETWEEN(在特定区域之间) LIKE(搜索一个模式) IN(对一个列指定多个可能的值) 是否在其中吧
    
SQL AND & OR 操作符
    
SQL ORDER BY 关键字
     用来给result_set 也就是返回的结果排序
     SELECT column_name(s) FROM table_name ORDERED BY column_name(s) ASC|DESC
     默认排列是升序 DESC是降序
    
SQL INSERT INTO声明
     用来往table里面加入record(也就是一行)
     两种写法
          INSERT INTO table_name VALUES(value1,value2,value3,...)
          INSERT INTO table_name(column1,column2,column3,...) VALUES(value1,value2,value3,...)
         
SQL UPDATE 声明
     用来更新table里的record
     UPDATA table_name SET column1=value, column2=value2,.. WHERE some_column=some_value (后面的这个还是用作筛选条件,然后再用set进行相应的设置,一定要保证这个筛选条件可以精确的找到一条record)
    
SQL DELETE 声明
     DELETE FROM table_name WHERE some_column = some_value
     全部删除的时候 DELETE FROM table_name 或者 DELETE * FROM table_name

SQL TOP 子句
     规定返回的records数量
     SELECT TOP number|percent column_name(s) FROM table_name
     SELECT TOP 50 PERCENT * FROM Persons
     Could be a number or a percentage
    
SQL LIKE 操作符
     主要是用在WHERE里寻找特定的模式
     % 符号可被用来定义通配符(模式中缺少的字母),可在字母前,也可在字母后。
     同时也存在 NOT LIKE操作符
     SELECT * FROM Customers
     WHERE Country LIKE '%land%';

SQL 通配符
     在数据库中搜索数据的时候可以用来替代一个或多个字母
     % 代替零个或多个字母
     _ 代替一个字母
     [charlist] charlist中的任何单个字符
     [^charlist] 任何不在charlist中的字符 or [!charlist]
     SELECT * FROM Persons WHERE LastName LIKE '[!bsp]%'
    
SQL IN 操作符 和 BETWEEN 操作符
     SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...)
     SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2
    
SQL Alias 别名
     别名可以被给到一个table或者一个列
     SELECT column_name(s) FROM table_name AS alias_name
     SELECT column_name AS alias_name FROM table_name
     一般用于column_name太长的时候。

SQL Joins
     从两个或多个table中查询数据。
     JOIN;LEFT JOIN;RIGHT JOIN;FULL JOIN
     找到两个TABLE中的交叉部分,加以展示。

SQL UNION
     结合两个或多个SELECT命令返回的结果。
     默认只结合唯一的值,如果有想要重复就UNION ALL
    
SQL SELECT INTO
     通常用于建立Table的备份。
     SELECT * INTO Persons_Backup FROM Persons

SQL Constraints
     限制进入到TABLE内的数据类型,可以在CREATE的时候定义,也可以在Alter的时候定义
     :NOT NULL
     :UNIQUE
     :PRIMARY KEY
     : FOREIGN KEY
     : CHECK 限制值的范围CHECK (P_Id>0)
     : DEFAULT DEFAULT 'Sandnes'要是没值插入,就用这个默认值。
     CREATE TABLE Persons
     (    
     P_Id int NOT NULL,
     LastName varchar(255) NOT NULL,
     FirstName varchar(255),
     Address varchar(255),
     City varchar(255)
     )
     CREATE TABLE Orders
     (
     O_Id int NOT NULL,
     OrderNo int NOT NULL,
     P_Id int,
     PRIMARY KEY (O_Id),
     FOREIGN KEY (P_Id) REFERENCES Persons(P_Id)
     )
    
SQL ALTER
     可以add delete和modify
     ALTER TABLE table_name ADD column_name datatype
     ALTER TABLE table_name DROP COLUMN column_name

SELECT COUNTS(*) FROM Persons获得Table中的行数
### 数据库常用命令汇总 以下是对数据库常用命令的总结,涵盖了 MySQL、达梦数据库和 Hive 的相关内容。 #### 1. MySQL 常用命令 MySQL 是一种广泛使用的开源关系型数据库管理系统。以下是其常用命令的汇总: - **查看 MySQL 版本** 使用 `SELECT VERSION();` 可以查询当前 MySQL 的版本信息[^1]。 - **查询数据库** - 查询所有数据库:`SHOW DATABASES;` - 创建数据库:`CREATE DATABASE 数据库名称;` - 如果数据库不存在则创建:`CREATE DATABASE IF NOT EXISTS 数据库名称;` - 删除数据库:`DROP DATABASE 数据库名称;` - 如果数据库存在则删除:`DROP DATABASE IF EXISTS 数据库名称;` - **使用数据库** 切换到指定数据库:`USE 数据库名称;` 查看当前使用的数据库:`SELECT DATABASE();` - **查询表** - 查询当前数据库下的所有表:`SHOW TABLES;` - 查询表结构:`DESC 表名称;` - **创建表** 创建表的基本语法为: ```sql CREATE TABLE 表名 ( 字段名1 数据类型1, 字段名2 数据类型2, ... 字段名n 数据类型n ); ``` 示例: ```sql CREATE TABLE tb_user ( id INT, username VARCHAR(20), password VARCHAR(32) ); ``` #### 2. 达梦数据库常用命令 达梦数据库是一种国产的关系型数据库管理系统。以下是其常用命令的汇总: - **登录数据库** 使用以下命令登录达梦数据库:`./disql sysdba/xxx@localhost:5236`[^2]。 - **查询 Schema** - 查询所有 Schema:`SELECT DISTINCT object_name TABLE_SCHEMA FROM all_objects WHERE object_type = 'xxxx';` - 查询指定用户下的 Schema:`SELECT DISTINCT object_name TABLE_SCHEMA FROM all_objects WHERE object_type = 'xxx' AND OWNER='SYSDBA';` - **查询表空间** 查询所有表空间:`SELECT tablespace_name FROM dba_tablespaces;` - **查询表** 查询所有表:`SELECT TABLE_NAME FROM dba_tables;` #### 3. Hive 常用命令 Hive 是一种基于 Hadoop 的数据仓库工具,主要用于大数据处理。以下是其常用命令的汇总: - **创建表** 创建表的基本语法为: ```sql CREATE TABLE IF NOT EXISTS 表名 ( 字段名1 数据类型1, 字段名2 数据类型2, ... 字段名n 数据类型n ) COMMENT '表注释' ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' STORED AS TEXTFILE; ``` 示例: ```sql CREATE TABLE IF NOT EXISTS tb_employee ( id INT, name STRING, salary STRING, destination STRING ) COMMENT '员工信息详情表' ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' STORED AS TEXTFILE; ``` #### 注意事项 不同数据库系统之间的命令语法可能存在差异,在实际使用时需要根据具体的数据库环境进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值