SQL基础


1.创建数据库的语法

create database databasename;

2.删除数据库

drop database dataname;

3.切换数据库

use databasename;

4.创建表

create table tabname(

col1 datatype constraint_conditional,

col2 datatype constraint_conditional

);

例如:

 

5.唯一约束

注:创建主键后,数据库会为该列创建一个主索引,该主索引与约束名相同。

 

主键约束

 

外键

foreign key 表名1(列1references 2(列2[on update [cascade] | [set  null] | [restrict]]

                                           [on delete[cascade]|[set  null] | [restrict]]

cascade 级联删除 如果主表中一条记录被删除,从表中与之相对应的数据也将一起被删除。

set null 置空删除 如果主表中的一条记录被删除,从表中与之相对应的数据也将被设置为空值。

restrict 受限删除 如果主表中一条记录被删除,则在执行delete命令时数据库管理系统会保错,

通知用户与主表相对应的该数据在从表中存在,但是与主表相对应的该数据在从表中不会被删除。

注:在定义外键约束时,其默认的修改和删除方式都是restrict.


 

检查约束

用来限制列的取值范围和取值条件。保证数据规则的一致性。

 

6.索引的种类

唯一索引 创建唯一约束时创建。

主索引 主键约束时创建

单列索引

复合索引

聚簇索引 一个表中只能建一个

索引数量限制:MySQL同一个数据表索引总数不超过16个,oracle中复合索引总数不超过32个。

创建索引的语法:

 

例如:

 

 

  删除索引

  drop index  索引名

8.修改数据库中的表

 

 例如;

  

增加一个约束条件

 

例如:

 

添加外键约束的语法:

 

例如:

 

增加一个索引

 

 

修改表中某一列

 

例如:

删除表中某一列


 

例如

 

删除一个约束条件

 

例如:

删除数据库中的表

注:有外键约束,加级联

 

例如:

 

9.MySQL数据库不支持‘||’连接符,若使用,concat函数。

10.

 

 

11.转义字符

1\

2)escape

 

13.模式匹配



 

 

14.使用rollup关键字统计数据

 

 

15.use子句

 

注:等价于inner join ...on.

16.使用any运算符子查询。

 

17,使用all 运算符子查询

 

18.

 

19.为视图添加约束。

 

20.创建只读视图

 

21.授予权限

 

 

22.授予指定用户操作数据列的权限

 

23.授予指定用户授权的权限。

 

24.授予创建数据库表的权限。

 

25.将操作权限授予所有用户。

 

26.回收权限

 

27.自动提交设置

 

28.并发控制

1

 

2)在数据库中设置隔离级别。

1.为一个事物设置隔离级别。

 

2.为一个会话中的事物设置隔离级别

 

3.设置事物访问模式。

 

29.系统包。

1.DBMS_ALTER

 


 

 

2.waitanywaitone

 

3.register,remove ,removeall过程。

 

   dbms_alter.removeall.

4.set_defaults过程。


 

5.DBMS_JOB

 

 

 

 

 

 

                            SQL语句性能优化。

1.适当建索引


 

 

2.优化查询语句。

1)避免在sql语句中使用*号。

2

3.避免使用or,in.

4.避免使用<>和!=

 

5.existsin

 

6.使用like .

7.避免使用having

8.

 


请使用浏览器的分享功能分享到微信等