SQL整理

2019-11-28  本文已影响0人  异同

数据库处理

使用数据库:USE database_name;
创建数据库:CREATE DATABASE database_name;
删除数据库:DROP DATABASE database_name;
修改数据库名称:RENAME DATABASE old_db_name TO new_db_name;

数据库宽表处理

创建宽表:
CREATE TABLE table_name(
     字段名称1 数据类型,
     字段名称2 数据类型,
     字段名称3  数据类型 (约束条件:例如AUTO_INCREMENT 、PRIMARY KEY、NOT NULL、UNIQUE)
...,
还可以直接在最后指定(多个)主键约束:PRIMARY KEY (employee_id , course_id)
);
删除宽表:DROP TABLE [IF EXISTS] table_name;
删除宽表内容(快速删除表中的所有行):TRUNCATE TABLE table_name;

也可以使用delete,但是效率一般。
DELETE
FROM
table_name
WHERE
condition;

修改宽表

ALTER TABLE table_name 修改语句
使用ADD子句添加新列。
ADD new_colum data_type column_constraint [AFTER existing_column];
使用MODIFY子句修改列的属性,例如:约束,默认值等。
MODIFY column_definition;
使用DROP子句删除列。
DROP column_name,
修改宽表名称
RENAME TO new_table_name;
添加一列
ADD [COLUMN] column_definition;
删除一列
DROP COLUMN column_name1,

数据库宽表操作

增 insert

insert into:

INSERT INTO table1 (column1, column2,...如顺序插入则可省略)
VALUES
    (value1, value2,...);

insert into select:

INSERT INTO "table 1" ("column1", "column2",....)  
SELECT "column3", "column4",....  
FROM "table2";

改 update

UPDATE table_name
SET column1 = value1,
 column2 = value2
WHERE
    condition;

update+join

UPDATE table1 t1
LEFT JOIN  table2 t2
ON t1.column1 = t2.column1
SET t1.column2 = t2.column2,  
t1.column3 = t2.column3 
where t1.column1 in(21,31);

删 delete

DELETE
FROM
    table_name
WHERE
    condition;

查 select

基础用法:select column_x from table_x
其他:
order by
group by
where
distinct
limit
and
or
between
exitsts
in
like
isnull
not
别名
join/left join/right join/inner join
union/union all

一般顺序:
1. 先连接from后的数据源(若有join,则先执行on后条件,再连接数据源)。
2. 执行where条件
3. 执行group by
4. 执行having
5. 执行order by
6. 输出结果。
聚合函数
约束
索引

索引可分为单一索引、组合索引、全文索引(全表所有字段)、空间索引(全数据库)。
单索引又包括主键索引(prime key,又叫非空索引。唯一,且非null)、唯一索引(unique,除去null以外唯一,但是允许存在多个null)、普通索引(允许重复允许null)
创建索引
CREATE [UNIQUE/primary key] INDEX index_name ON table_name (column_name) ;
修改宽表添加索引(主键索引及唯一索引可以不加index name)
alter table table_name add index index_name (column_list) ;
alter table table_name add unique (column_list) ;
alter table table_name add primary key (column_list) ;
删除索引类似于添加,只是将ade和create修改成drop
查询当前宽表具有的索引show index from table_name \g(斜杠g可以格式化输出内容,方便查看)

子查询

更新中…

参考:
sql
执行顺序
索引

上一篇 下一篇

猜你喜欢

热点阅读