总结

来源:互联网 发布:python程序设计答案 编辑:程序博客网 时间:2024/04/29 06:12
 
数据库的知识点


一、修改表
1.增加列:(1)ALTER TABLE classtest ADD phone BIGINT AFTER username;
                (2)ALTER TABLE classtest ADD phone BIGINT username;
2.修改类型:ALTER TABLE classtest MODIFY COLUMN phone VARCHAR(100);
3.更改列的名称:ALTER TABLE classtest CHANGE COLUMN phone phoneNUM VARCHAR(100);
4.删除列:ALTER TABLE Friend DROPCOLUMN PhoneNo;
5.修改表名:ALTER TABLE XIN RENAME YIN;
二、创建索引
CREATE INDEX <索引名> ON <表名>(列名);
删除索引:ALTER TABLE classTest DROP INDEX usernameIndex;
三、数据完整性的分类:
(1)实体完整性
(2)域完整性《外键约束、检查约束、默认值定义、非空约束》
(3)引用完整性
(4)用户自定义完整性


 插入单行记录:INSERT INTO <表名>(<列表名>) VALUES(<值列表>);
 eg:INSERT INTO Employees (Fristname,Lastname,HireDate,ReportsTo)
        VALUES ('John','Clinton','2004-01-01',2);
 添加数据:INSERT INTO T-Class02 SELECT * FROM t-Class;


插入多行记录:INSERT INTO <表名> (<列名列表>) SELECT<Select语句>;
eg: INSERT INTO Student1 (studentname) VALUES ('John2');
      INSERT INTO Student1 (studentname) VALUES ('John3');
      INSERT INTO Student1 (studentname) VALUES ('John4');


表数据的复制:SELECT <列名> INTO <新列名> FROM <表名>
INSERT INTO t-class1 SELECT * FROM t-class;
更新单列数据:UPDATE <表名> SET <新列值列表> WHERE <过滤条件>;
eg:UPDATE Products SET UnitPrice =100 WHERE ProductID =1;
更新多列数据:UPDATE Products SET ProductName ='Beef jery','c-name=js',UnitPrice =10 WHERE ProductID =1;
通过更新删除列中的数据: 
UPDATE SET UnitPrice =NULL WHERE ProductID =1
使用DELETE删除行:
DELETE FROM <表名> WHERE <过滤条件>;
删除后数据还可以恢复,但是效率低。
 全删: DELETE FROM Student WHERE  1=1;
TRUNCATE只删除数据,不删除表。


数据库的查询一般分为:投影操作,选择操作,排序操作。
分页:    SELECT * FROM t-class LIMIT 0,3;
          SELECT * FROM t-class LIMIT 3,3;
          SELECT * FROM t-class LIMIT 6,3;
前一个数字表示从第几行开始分页,第二个数字表示一页显示多少行。
修改列名:SELECT 列A AS A,列B AS B, 列C AS C FROM 表名 AS T;
     eg:SELECT C-id AS '编号' FROM t-class;
排除重复数据:SELECT DISTINCT 列A FROM 表;
eg:SELECT DISTINCT c-age,c-name,c-address FROM t-class;
选择查询:SELECT 列名列表 FROM 表 WHERE 条件;


插入多行记录:INSERT INTO <表名> (<列名列表>) SELECT<Select语句>;


联接使用的是JOIN ON (ON起过滤数据的作用),它属于横向联接,而UNION 属于纵向联接。联接又称为笛卡尔乘积。
eg:SELECT Class.ClassID,Class.Time, Room.RoomID
     FROM Room
     JOIN Class ON Room.RoomID = Class.ClassID;
联接的分类:
(1)内联接:只显示匹配的上的数据
eg:SELECT * FROM t_student,t_class where t.c_id = c.c_id;
(2)外联接:1.左外联接<LEFT JOIN>:不管匹配与否,左边的表全部显示,右边的表只显示能匹配的
                       2.右外联接<RIGHT JOIN>:不管匹配与否,右边的表全部显示,左边的表只显示能匹配的

(3)交叉联接



0 0
原创粉丝点击