面向对象-MySQL基本操作

本文介绍了MySQL的基本概念,包括其作为关系型数据库管理系统的特点,以及如何安装MySQL服务器和客户端。详细讲解了MySQL的管理和使用,如登录、查看数据库、创建用户、数据类型(整型、浮点型、字符串等)、日期时间类型以及基本的SQL操作。
摘要由CSDN通过智能技术生成

一、MySQL简介(适合管理数据)

MySQL是一个关系型数据库管理系统,MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
 

二、MySQL的安装

 mysql-server    MySQL服务器。你需要该选项,除非你只想连接运行在另一台机器上的MySQL服务器。
mysql-client     MySQL 客户端程序,用于连接并操作Mysql服务器。
mysql-devel     库和包含文件,如果你想要编译其它MySQL客户端,例如Perl模块,则需要安装该包。
mysql-shared   该软件包包含某些语言和应用程序需要动态装载的共享库(libmysqlclient.so*),使用MySQL。
mysql-bench    MySQL数据库服务器的基准和性能测试工具

三、MySQL管理和使用

-- 登录MySQL
mysql -u root -p

--查看所有子数据库       mysql数据库里有很多子数据库 子数据库存放不同项目的数据
show databases;

--使用某个子数据库
use mysql

--查看子数据库的所有表
show tables;

--查看表中数据
select user from user;   --从user这张表里查user变量下的数据

--创建用户
create user "test"@"localhost"  identified by "123456";   --只有本机上面的test用户才能登录 @限制登录的主机

--修改密码
ALTER USER "test"@"localhost" IDENTIFIED BY "test";    --root    root

--授权操作
grant select on *.* to "test"@"localhost";    --select查询权限 create创建权限

--创建子数据库
create database mydatabase;       --mydatabase是子数据库名字

--在子数据库下创建表(表存放数据)
create table int_test(
tiny_int tinyint,
small_int smallint,
medium_int mediumint,
common_int int,
big_int bigint                               
);         --表名        --变量名 类型

--显示表结构
describe int_test;

--插入数据
insert into int_test values(1,1,1,1,1);
--insert into int_test values(200,1,1,1,1);      --超出范围
--insert into int_test values(200,1,1,'a',1);      --类型不会自动转换 

--创建学生表    变量名 变量类型 变量属性
create table student(
name varchar(10) not NULL,    
age tinyint unsigned not NULL,
sex char(6)
);

--修改表的变量
--修改表名字
alter table student rename stu; 
--删除表的一个变量    drop丢掉
alter table student drop sex;
--增加表的变量   add默认放在表尾
alter table student add sex char(6);
--在表头增加新变量                              主键 不能重复     id自动增长   id放在前面
alter table student add id int unsigned not NULL primary key auto_increment first;
-- 在表的变量后插入新变量                                 在名字后面插入日期
alter table student add birth date after name;
--                                   默认用-填充
alter table student add tel char(11) default '-';

--修改表的编码类型  能插入中文版
alter table student convert to character set utf8;

--表插入数据
--简略版(默认用户填写全部数据)
insert into int_test values(1,1,1,1,1);
--完整版
insert into student (id,name,birth,age,sex,tel) values(1000,"jack","1999-8-9",21,"male","11111111111");
--插入部分数据
insert into student(name,birth,age,sex,tel) values("tom","1990-9-9",30,"female","22222222222");
--插入多条数据
insert into student values(1003,"rose","1998-9-9",22,"male","33333333333"),(1004,"lily","1997-9-9",23,"male","55555555555");
--                                           电话采用默认值
insert into student (name,birth,age,sex) values("ggg","1990-9-9",30,"female");
--插入中文
insert into student values(1006,"张三","1999-9-9",21,"male","55555555555");

--表修改数据                 设置电话为             修改名字为ggg的电话               
update student set tel = "00000000000" where name = "ggg";

--表删除数据
delete from student where id = 1000;

--删除表
drop table student;
--删除数据库
drop database mydatabase;

--查询表数据
--*所有数据
select * from student;
--根据条件查找数据
select name from student;
select id from student where id > 1002;
select id from student where id between 1001 and 1004;

四、MySQL 数据类型

1、整型

2、浮点型 

设一个字段定义为float(5,3),如果插入一个数123.45678,实际数据库里存的是123.457,但总个数还以实际为准,即6位。

3、定点数

浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值。 
decimal(m,d) 参数m<65 是总个数,d<30且 d<m 是小数位

4、字符串

char和varchar:
1.char(n) 若存入字符数小于n,则以空格补于其后,查询之时再将空格去掉。所以char类型存储的字符串末尾不能有空格,varchar不限于此。 
2.char(n) 固定长度,char(4)不管是存入几个字符,都将占用4个字节,varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),所以varchar(4),存入3个字符将占用4个字节。 
3.char类型的字符串检索速度要比varchar类型的快。
 
varchar和text: 
1.varchar可指定n,text不能指定,内部存储varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),text是实际字符数+2个字节。 
2.text类型不能有默认值。 
3.varchar可直接创建索引,text创建索引要指定前多少个字符。varchar查询速度快于text,在都创建索引的情况下,text的索引似乎不起作用

5、二进制数据

1.BLOB和text存储方式不同,TEXT以文本方式存储,英文存储区分大小写,而_Blob是以二进制方式存储,不分大小写。 
2.BLOB存储的数据只能整体读出。 
3.TEXT可以指定字符集,BLOB不用指定字符集。

6、日期时间类型

 若定义一个字段为timestamp,这个字段里的时间数据会随其他字段修改的时候自动刷新,所以这个数据类型的字段可以存放这条记录最后被修改的时间。

7、数据类型的属性

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值