1、先学习简单SQL语句,可以通读数据库系统概论,程序设计后台建表建数据库很讲究。
2、关系数据库系统都是基于关系数据模型的,这种模型有三个要素:结构【定义了数据的表示】、完整性【强加一些对数据的约束】和语言【提供了访问和操纵数据的手段】。
3、关系模型是围绕着一个简单自然的结构建立的,一个关系实际上是一个没有重复行的表格。表的一行表示一条记录,一行称为一个元组,一列称为一个属性。
4、完整性约束对表格强加了一个条件,对表中的所有合法值都必须满足该条件。一般来说,有三种类型的约束:域约束【规定属性的允许值】、主键约束【唯一的标识了一个关系】、外键约束【不同关系中的元组通过它们的共同属性互相关联】。 域约束和主键约束被称为内部关联型约束,每个约束只涉及一个关系。外键约束是互相关联型的,意味着一个涉及多个关系的约束。
5、所有关系数据库系统都支持主键约束和外键约束,但不是所有的数据库系统都支持域约束。
6、MySQL上创建用户账户
登录 mysql -u root -p
输入一开始设置好的密码
使用系统自带数据库:use mysql;
创建用户名为lp1,密码为lp2的账户:create user 'lp1'@'localhost' identified by 'lp2';grant select,insert,update,delete,create,drop,execute,references on *.* to 'lp1'@'localhost';
退出:exit;
7、创建数据库
create database xxx;
8、创建和删除表
create table xxx(
useId char(4) primary key,
useName varchar(50) not null
...
);
如果要删除的表被其他表引用,必须先删除其他表。
drop table xxx;
具有属性包含关系的表之间支持下列这种写法:
create table xxx1( create table xxx2(
...
);
);
9、简单插入、更新和删除
insert into tablename (xxx1,xxx2,xxx3) values (xxx , xxx , xxx);
update tablename set column1=newvalues where ....;
delete tablename where ...;
delete tablename;
10、简单查询
select columnlist from tablename where ...; 11、复杂一些的查询还可以了解一下比较运算符、布尔运算符、运算符like、between-and、is null、列的别名、order by、联结表等等
12、JDBC的简单操作,注意关闭资源
class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost/数据库名","用户名","密码");
Statement statement=con.createStatement();
statement.executeUpdate(sql);//更新语句
ResultSet resultSet=statement.executeQuery(sql);//查询语句
while(resultSet.next()){
...
resultSet.getString(1);
...
}
13、防注入以及多次大量操作,使用PreparedStatement。
14、执行存储过程使用CallableStatement
15、获取数据库元数据
DatabaseMetaData dbMeteData=con.getMetaData();
//记得遍历
ResultSet rsTables= dbMeteData.getTables(...);//得到数据库中所有表
dbMeteData.getColumnCount();//得到列的总数
dbMeteData.getColumnName(i);//得到第i列的列名,从1开始算