您的位置:首页 > 数据库 > MySQL

MySQL学习笔记(一)

2016-09-08 00:00 190 查看

一、数据库简单介绍

1、 按照数据库的发展时间顺序,主要出现了以下类型数据库系统:

网状型数据库

层次型数据库

关系型数据库

面向对象数据库

上面4中数据库系统中,关系型数据库使用最为广泛。面向对象数据库则是由面向对象语言催生的新型数据库,目前的一些数据库系统,如:SQL Server 2005、Oracle10g等都开始增加面向对象的特性。

二、常用基本SQL语句/语法

标准的SQL语句通常划分为以下类型:

DQL:主要由于select关键字完成,查询语句是SQL语句中最复杂,功能最丰富的语句。

DML:(Data Munipulation Language,数据操作语言)语句,这组DML语句修改后数据将保持较好的一致性;操作表的语句,如插入、修改、删除等;

DDL:(Data Definition Language,数据定义语言)语句,创建库,表,修改库,表,删除数据库,表,操作数据对象的语言,有create、alter、drop。

DCL:(Data Control Language,数据控制语言)语句,主要有grant、revoke语句。

事务控制语句:主要有commit、rollback和savepoint三个关键字完成。

# 数据库

创建 create database 数据库名 character set 编码 collate 校对规则

删除 drop database 数据库名

修改 alter database 数据库名 character set 编码 collate 校对规则

查看 查看所有:show databases;

查看数据库:show create database 数据库名;

# 数据库表

##创建:

create table 表名(

字段 类型(长度) 约束,

字段 类型(长度) 约束

);

类型

字符相关:varchar()/char() :varchar 长度可变;char:长度不可变(效率高)

数值: int bigint(long) double float

bit: (boolean)

日期: date, time, datatime, timestamp(默认取当前系统时间)

BLOB, text

约束(单表)

主键:(默认唯一非空)

primary key, 自动增长 auto_increment(MySQL)

唯一:代表值唯一的 unique

非空:not null

##删除:

drop table 表名;

Drop与truncate的区别

drop table users;

drop删除表

会删除表结构,表对象将不存在数据中;数据也不会存在;表内的对象也不存在,如:索引、视图、约束;

truncate删除表

truncate都被当成DDL出来,truncate的作用就是删除该表里的全部数据,保留表结构。相当于DDL中的delete语句,

但是truncate比delete语句的速度要快得多。但是truncate不能带条件删除指定数据,只会删除所有的数据。如果删除的表有外键,删除的速度类似于delete。但新版本的MySQL中truncate的速度比delete速度快。

##修改:

alter table 表名 add 新字段 添加字段

添加单列 alter table user add tel varchar(11) default ‘02012345678’;

添加多列

alter table user

add (

photo blob,

birthday date

);

alter table 表名 modify 字段 修改类型, 约束

修改tel列

alter table user modify tel varchar(15) default ‘02087654321’;

修改tel列的位置,在第一列显示

alter table user modify tel varchar(15) default '02087654321' first;

修改tel列的位置,在指定列之后显示

alter table user modify tel varchar(15) default '02087654321' after age;

注意:alter modify不支持一次修改多个列,但是Oracle支持多列修改

但是MySQL可以通过多个modify的方式完成:

alter table user

modify tel varchar(15) default '02087654321' first,

modify name varchar(20) after tel;

alter table 表名 change 修改字段名称

##字段重命名

alter table users change name u_name varchar(10);

alter table users change sex u_sex varchar(10) after u_name;

如果需要改变列名建议使用change,如果需要改变数据类型和显示位置可以使用modify

alter table 表名 drop 删除字段

alter table user drop photo;

##表重命名

alter table user rename to users;

##查看:

所有查:show tables;

描述:desc 表名

show create table 表名

#操作数据(CRUD)

##插入数据:

insert into 表名 (字段1,....) values (值1, ....);

insert into 表名 values (值,....);

##修改数据:

update 表名 set 字段=值,... [where]

##删除数据:

delete from 表名 [where]

truncate 表名

区别: truncate删除整个表,创建一个新表;delete 一条条删除

##查询:

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