数据库简介
数据库分类:关系型数据库、非关系型数据库
常用的关系型数据库有:orcale 、mysql 、sql server等等
常用的非关系型数据库有: Memcached、redis、mongoDB等
表类型: myIsam:除系统表外,已经很少使用
innoDB:最常用的存储引擎(支持事物、数据行级别锁定机制、外键约束、崩溃恢复等功能)
memory:只存在于内存中,可做临时表
engine=innodb 可以再表后设置数据库类型
反引号作用:如果建立表时 表名或者列名和关键字相同,就可以用反引号区分
数据类型:
数值型: 整形-128~127和浮点型0~255
字符串:
日期和时间类型
null值
涉及到钱的时候,用decimal存储
一、mysql基础知识:
查看所有的数据库:show databases;
创建数据库:create database 数据库名;
create database 009 charset utf8; 创建数据库并设定该数据库的字符集
查看某库中所有的表:show tables;
指定数据库:use 数据库名;
查看表结构:desc 表名;
查看建表语句:show create table 表名;
1、创建表:
create table table1 (
-> name varchar(5) primary key,
-> age int,
-> bumen varchar(10),
-> socr int,
-> salary int,
-> bumenid int
-> )
-> ;
2、删除
①删除整个表 有两种sql语句可以删除整个表,但是效果不同
drop table table1 删除表,数据库中也不会存在该表 释放空间
truncate table table1 删除表,也释放了空间,数据库中还存在该表,且该表中的定义(列名 结构)还存在;清空表数据,不清空表结构,释放了空间 不可回退
②删除表数据
delete from table1 where。。。。 不释放空间,可以回退
3、修改表
①修改表结构 alter
增加一个字段 address
alter table table1 add address varchar(10);
删除一个字段 age
alter table table1 drop age;
给某字段更名 将字段name更名为city
alter table table1 rename name to city;
②修改表中的数据 update
将年龄为20的人的名字改为宋晓影
update table1 set name='宋晓影' where age=20;
4、约束
primary key 主键约束
unique 唯一约束
not null 非空约束
auto_increment 使整数列默认自增1
default 1888 默认值为1888
default cur_timestamp 创建新记录时默认保存当前时间(仅适用于timestamp数据列) timestamp: YYYYMMDDhhmmss
on update cur_timestamp 修改记录时默认保存当前时间(仅适用于timestamp数据列)
unsigned 无符号整数
character set name 指定字符集(仅适用于字符串)
5、分组与分组函数
http://blog.csdn.net/leshami/article/details/5559110