`
海角七号
  • 浏览: 17442 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MySQL学习笔记(一)

阅读更多

一、什么是数据库?

       数据库是以一定组织方式储存在一起的,能为多个用户共享的,具有尽可能小的冗余度的,与应用彼此独立的相互关联的数据集合。

二、DBMS是什么?

      DBMS是数据库管理系统(Database Management System)的英文缩写,它是操作和管理数据库的大型软件,是用于建立,使用和维护数据库,它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。

三、数据的三种存储方式:

       文件、数据库、网络

四、数据库的分类:

        数据库目前分为两类,一种是关系型数据库,另一种是NoSQL数据库,关系型数据库主要有MySQL(MySQL AB公司的,后来被sun公司收购,sun公司又被Oracle收购,它是开源的免费的,企业版是收费的,LAMP的组合成员,LAMP代表的是Linux,Apache,MySQL,PHP),Oracle(软件是免费的,但提供的技术支持是收费的),SQLServer(微软公司的数据库管理系统,一般开发微软项目会用这个数据库),IBM DB2(IBM公司的,收费软件),PostgreSQL(用的比较少)。NoSQL数据库主要有mongoDB(目前也比较流行),Redis(它是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库)。

五、数据库中的数据类型

       整型:

 

浮点型:

 

字符型:

(这里面需要说明一点,char是定长,varchar是变长,那么两者的区别是什么呢?如char(20)和varchar(20)这两个都表示最多能存进去20个字节的数据,如果我存进一个tom,char中是20个字节,而varchar里面是3个字节)

日期时间型:

六、MySQL中的基本命令

连接数据库:

mysql -uroot -proot

 

 

数据库退出:

quit;或者exit;
 

 

显示数据库:

 

show databases;
 

 

在使用某个数据库时,一定要先切换的该数据库,命令为:

 

use databasename;
 

 

查看某个数据库里面的有哪些表时:

 

show tables;
 

 

查看某个表的结构:

 

desc tablename;
 

 

查看当前时间和数据库版本:

 

select now(),version();
 

 

创建数据库:

 

create database student;
 

 

创建表:

 

create table t_stu
(id int auto_increment,  --设置id为自增长
stuname varchar(20),     --stuname varchar(20)not null,表示该数据不能为null
stuage int,
stuaddress varchar(100), --stuaddress varchar(200)default '中国',表示设置了默认值,如果该数据没有添加时,数据就是设置的默认值
stucode varchar(20) not null unique, --除了主键之外,需要让该列有唯一性
primary key(id));        --设置id为主键
 

 插入数据(一次可以插入一条或多条数据):

 

insert into t_stu
(stuname,stuage,stuaddress)
values
('tom',23,'USA'),
('jack',22,'UK'),
('张三',22,'北京');
 

 

查询表中数据:

 

select * from t_stu;  --查询表中的所有数据
select id,stuname,stuage,stuaddress from t_stu;  --查询给定的列
 

 

七、主键:(主键是用来保证记录的唯一性

1、在设计表的时候总是要定义表的主键

2、表的主键设计策略:

  • 任意两行都不具备相同的主键值;
  • 每行都必须具有一个主键值(主键不允许null列);
  • 主键和业务无关,不改变,不重用(和业务无关是说明和表中数据无任何关联,因为里面的数据在未来不可避免会改变,如果主键和数据相关,那么也将会带来改变)

3、主键可以是一个列或多个列的组合

4、使用primary key(xxx)来声明一个主键

5、如果使用多个列作为主键,那么有需要用primary key(xx,xxxx)来声明

八、更多命令

删除数据库:

drop database student;

 删除表:

drop table t_stu;  --不仅删了表中的数据,还把表给删除了

 添加一列:

alter table t_stu add tel varchar(20);

 删除一列:

alter table t_stu drop column tel;

 添加唯一约束:

alter table t_stu add constraint uk_stucode unique(stucode);

 删除唯一约束:

alter table t_stu drop index uk_stucode;

 添加主键约束:

 

alter table t_stu add constraint pk_t_stu_id primary key t_stu(id);

 删除主键约束:

 

 

alter table t_stu drop primary key;

 添加默认约束:

 

 

alter table t_stu alter stuaddress set default '中国';

 添加非null约束:

 

 

alter table t_stu modify column stuname varchar(20) not null;

 重命名表:

rename table t_stu to t_user;

 导入数据库:(先退出数据库;)

 

mysqldump -hlocalhost -uroot -proot stu>E:/my.sql

 导入数据库:

 

 

source E:/my.sql

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics