1、 SQL 支持下列类别的命令:
– 数据定义语言(DDL)
– 数据操纵语言(DML)
– 事务控制语言(TCL)
– 数据控制语言(DCL)
2、主要掌握DDL命令
1)数据定义语言用于改变数据库结构,包括创建、更改和删除数据库对象
– CREATE TABLE 创建表
– ALTER TABLE 更改表结构
– TRUNCATE TABLE 截断表(清空表的所有内容,今后注意和DML里的delete做比较)
– DROP TABLE 删除表
3、创建数据库:CREATE DATABASE 数据库名;
4、连接到数据库:USE 数据库名;
5、删除数据库:drop database 数据库名
需要注意的是,不能删除当前正在使用的数据库,可以先切换再删除
6、创建表:create table 表名 (列名 类型,…..);
7、删除表:drop table 表名
8、varchar和char的区别:
varchar存储可变长度的字符,而char存储不可变长度的,类似String和StringBuffer
例如有一列的类型是char(5) 那么即使只插入1个字符的数据,仍然会在对应的数据文件里占用5个字符的物理存储空间,而如果是varchar(5)的话,只插入1个字符的数据,相应地也只会占用1个字符的空间,因此为了节省空间我们一般都用varchar。 但是,实际项目中,对性能要求很高的话,我们可能需要以空间换时间,即使用char。
Varchar和char的最大容量都为8kb,当需要存储的数据长度大小超过8kb后,我们使用text类型来存储。
9、Datetime和smalldatetime的区别:
简单来说,即smalldatetime比datetime的精度更低,只能精确到分钟。
10、复制表:SELECT 列名或*(多个列要用逗号分隔) INTO 新的表名 FROM 旧的表名;
这样能将表的结构和所有记录都复制,如:select * into new_test from test;
需要注意的是复制表并不会复制表中的约束,而如果仅仅只想复制表的结构而不想复制数据的话可以在之前的基础上加上一个永远为假的条件。如:select * into new_test from test where 1=0;
11、为了保持数据的一致性和完整性,我们将使用约束最简单的使用约束方式是在建立表的同时就定义约束
例如:
非空约束:
对于没有非空约束的任意表,我们是可以向列中插入null值的,但是一旦加入非空约束后则不行
如:create table test (t_id int,t_name varchar(12) not null);
12、指定某列在无数据时的默认值:default 默认值,指定默认值在实际应用中常用于指定日期列(比如操作日志的时间默认为当前系统时间)使用getdate()函数能够获得当前时间。如:create table test(t_id int,t_name varchar(20) default ‘wu’,t_date smalldatetime default getdate() );
13、设置检查约束: check ,只有当满足这个检查约束时才能正确插入数据。如:create table student (s_id int , s_name varchar(20),s_age int check(age>=18));
14、主键,为了强制性地实现,我们可以为将要作为主键的列添加主键约束:primary key,因为主键的值不能为空且不能重复,因此主键约束实际上包含了非空和唯一约束的功能。如:create table students(s_id int primary key,s_name varchar(20));