黑马小日子--数据库基础
来源:互联网 发布:淘宝旺铺智能版好处 编辑:程序博客网 时间:2024/04/28 17:16
数据库
一. MySQL简介:
a) 数据库简介:
i. SQL Server 不跨平台
ii. Oracle 跨平台, java编写,市场占有率最多
iii. DB2 IBM的,java编写,跨平台
b) MySql的安装:
i. Shell>window命令
Mysql>mysql命令,(windows中不区分大小写,)
登录数据库:
Mysql -u root -p 你的密码
查看已安装的数据库:
Show databases ;
基本sql语法(SQL 格式化查询语言)
DDL(定义数据库和表结构的语句)
数据库操作:
1,创建一个名为mydb1的数据库
Create database mydb1;
2.查看数据库创建细节:
Show create database mydb1;
3.创建一个使用gbk字符集的mydb2数据库。
Create database mydb2 character set gbk;
4.创建一个使用utf8字符集,并带校对规则的mydb3数据库
Creat database mydb3 character set utf8 collate utf8_general_ci;
5.查看当前数据库服务器中的所有数据库
Show databases;
6.删除前面创建的mydb1数据库
Drop database mydb1;
7.查看服务器中的数据库,并把mydb2库的字符集修改为utf8;
Alter database mydb2 character set utf8 collate utf8_general_ci;
8.备份数据库test(不会备份数据库名,只会备份数据库中的表结构和表中的记录)
shell>mysqldump -u root -psorry test>d:\test.sql
9.恢复数据库test(不会恢复数据库名,只会恢复数据库中的表结构和表中的记录)
恢复前要先创建数据库的名称
mysql>CREATE DATABASE test;
选择要恢复的数据库
mysql>USE test;
恢复备份的数据
mysql>SOURCE d:/test.sql;
表操作:
1.创建表:
Create table employee(
Id int,
Name varchar(200),
Gender varchar(2);
Birthday date,
Entry_date date;
Job varchar(100),
Salary float(M,d), M指定显示长度,d指定小数位数
);
2.查看当前数据库中的所有表格
Show tables;
3.在上面员工表的基本上增加一个image列
Alter table employee add (image blob);
4.查看表的字段
Desc employee;
5.修改job列,使其长度为60
Alter table employee modify job varchar(60);
6.删除gender列
Alter table employee drop gender,
7.表名改为user
Rename table emplyee to user;
8.修改表的字符集为utf-8
Alter table user character set utf8;
9.列名name修改为username
Alter table user change name username(200);
DML(操作对象是表中的记录数据。增加、删除、修改。Data Manage Language)
增加:INSERT。字符和日期类型数据要用单引号引起来。
1.使用insert语句向表中插入三个员工的信息
Insert into user (id,username,birthday,entry_data,job,salary)values (1,'jiangnan','1989-10-06','2012-07-10','coder',8000);
约束
主键约束: primary key 不能为空,不能重复
非空约束: nut null 不能为空
自动增长: auto _increment
外键约束: constraint dept_id_fk foreign key (dept_id) references department(id)
dept_id_fk : 给外键一个命名
foreign key : 外键声明
dept_id : 指定外键对应表中的dept_id字段
department(id): 指定这个外键参考于department表中的id字段
多表连接:
一对多连接:
Create table department(
Id int primary key,
Name varchar(100)
);
Create table employee(
Id int primary key,
Name varchar(100),
Salaryfloat,
dept_id int,
Constraint dept_id_fk foreing key(dept_id) references department(Id)
);
多对多:
//教师表
Create table teacher(
Idintprimarykey,
Namevarchar(100)
);
//学生表
Createtablestudent(
Idint primarykey,
Namevarchar(100),
);
//第三方表
Create table teacher_student(
T_id int,
S_id int,
Primary key (T_id,S_id),
Constraint T_id_fk foreign key (T_id) references teacher(Id),
Constraint S_id_fk foreigns key(S_id) references studnet(Id)
);
表数据类型:
- 黑马小日子--数据库基础
- 黑马的小日子--xml
- 黑马小日子--web服务
- 黑马小日子---servlet入门
- 黑马小日子----JSP
- 黑马小日子--JDBC
- 黑马小日子--文件上传
- 黑马小日子--Servlet监听
- 黑马小日子--过滤器
- 黑马的小日子--xml解析
- 黑马小日子---servlet会话技术
- 小日子
- 小日子
- 小日子
- 黑马程序员-数据库基础
- 黑马程序员--数据库基础
- 黑马程序员--数据库基础
- 黑马程序员--数据库基础2
- XenAPI与libvirt比较
- 自定义平移函数使用CImage类实现
- 启示
- XEN添加和调用Hypercall (zz)
- 关于uitableview自定义cell与重用机制探究
- 黑马小日子--数据库基础
- Linq语句的笔记1
- 黑马小日子--JDBC
- 十年MFC经历认识的Microsoft技术
- 【XEN学习笔记】学习授权表(Grant Tables)
- 怎样判断ios app 第一次启动
- 黑马小日子--文件上传
- 黑马小日子--Servlet监听
- CS106B Lecture 23 Graph