数据库处理
使用数据库: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可以格式化输出内容,方便查看)
子查询
更新中…
网友评论