jdbc

1 sun提供的jdbc完成以下功能  

    1 与数据库建立连接   2 执行sql语句   3 获取执行sql语句执行结果

2 数据库驱程序是jdbc程序和数据库之间的转换层,负责将jdbc映射成特定数据库调用。

3 数据库操作语句    默认以分号作为每条命令结束符

      数据库一个实例可以同时包含多个数据库 , 当前实例下包含多少数据库 show databases;

      删除数据库   drop database whe;

      进入数据库    use  test;

      查看表结构  desc test;

       mysql -p password -u username -h hostname

 4 数据库语句

                1 查询语句  select    2 DML 数据操作语句  insert   update   delete  3  DDL数据定义语句   create alter drop 和 truncate  4 DCL 数据控制  grant 和 revoke

                5 事务控制  commit    rellback   savepoint 

5 标识符格式    1 必须以字母开头   2 包括字母,数字,3个特殊字符 (#_$)  3 多个单词连缀,单词间_分割  

 DDL 语句是操作数据库对象的语句,包括创建(create) 删除(drop) 修改(alter) 数据库对象,数据表是最基本的数据库对象,存储数据的逻辑单元,还包括

创建表 

CREATE TABLE test
(
id INT,
price DECIMAL,
NAME VARCHAR(255) DEFAULT 'xxx',
descs TEXT,
img BLOB,
DATE DATETIME
);
View Code

数据类型

通过子查询建表

CREATE TABLE hah
(id INT, pri DECIMAL)
AS
SELECT id, price FROM test;
View Code

ALTER TABLE test ADD aaa VARCHAR(255) DEFAULT 'xxx';  增加
ALTER TABLE test MODIFY aaa INT;    修改
ALTER TABLE test DROP aaa;       删除
ALTER TABLE haha RENAME ro wowo;    重命名表
ALTER TABLE test CHANGE descs desb INT; 重命名列

删除表

TRUNCATE haha;   表结构没被删除
DROP TABLE hah;  表结构被删除

约束:是在表上强制执行的数据校验规则,保证数据库里数据的完整性,当表中数据存在相互依赖时,保护相关数据不被删除。和表一样是数据库对象,为表指定约束有两个时机    1 创建表时  2 以修改表的方式增加约束

非空约束 not null    null特征  1  所有类型都可以是null int  boolean  2 与Java类似  空字符串不为null  0 也不为null

id INT NULL;       
id INT NOT NULL;  // 建表时

ALTER TABLE test MODIFY aaa INT NOT NULL;  增加非空约束
ALTER TABLE test MODIFY aaa INT NULL;  取消非空约束

唯一约束: unique    指定列或指定列组合不允许出现重复 , 但可以出现多个null  ,建立唯一约束时会建立相应的唯一索引。

DATE DATETIME UNIQUE 定义列时
CONSTRAINT aas UNIQUE(id, price)
);

ALTER TABLE test ADD UNIQUE a(id);
ALTER TABLE test DROP INDEX a;

主键约束  : 相当于非空,和唯一约束,即列既不能为空,也不能出现重复值,也不允许出现null

PRIMARY KEY(id),
CONSTRAINT aas PRIMARY KEY(id, price)
);

ALTER TABLE test ADD PRIMARY KEY a(id);
ALTER TABLE test DROP PRIMARY KEY;

 

外键约束:

CONSTRAINT aas FOREIGN KEY(t_id) REFERENCES techer(id) // 定义表时
);
ALTER TABLE test DROP FOREIGN KEY aas;
ALTER TABLE test ADD FOREIGN KEY aa(t_id) REFERENCES teacher(id) ON DELETE CASCADE // SET NULL // 删除或致NULL

check 约束

建表定义列名后CHECK(id > 0)

索引  : 当在表上建立主键 唯一  外键约束时,自动建立索引  create index indexname on tablename(列名)  drop index indexname on tablename

CREATE OR REPLACE VIEW view_test
AS
SELECT * FROM test
WITH CHECK OPTION; 不允许修改视图
DROP VIEW view_test;

 插入数据 

INSERT INTO t1(NAME)
SELECT NAME FROM t2;

UPDATE t1 SET NAME = 'dd' WHERE id = 1;

DELETE FROM t1 WHERE id = 1;
DELETE FROM t1;  // 删除整个表数据 表结构还在

 

posted on 2017-09-19 23:47  wheleetcode  阅读(124)  评论(0编辑  收藏  举报