您的位置:首页 > 数据库

黑马小日子--数据库基础

2012-08-05 14:46 211 查看

数据库

一. 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)

);

表数据类型:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: