设为首页 收藏本站
查看: 381|回复: 0

[经验分享] mysql数据库基本管理

[复制链接]
累计签到:77 天
连续签到:1 天
发表于 2014-7-4 09:47:16 | 显示全部楼层 |阅读模式
1、了解提供数据库服务的软件有哪些

     主流:Oracle       sql-server     mysql       DB2

           Postgresql     Sybase       access       vf

     商业软件:Oracle   sql-server   DB2

     开源软件:mysql   Postgresql

     服务运行的平台:LINUX  、Windows

     跨平台:Oracle DB2  mysql  postgresql

     既跨平台又开源的软件:mysql

2、数据库服务应用在哪里

     购物网站、论坛、银行、证券公司、购票系统

     网站论坛通常用mysql

     国家机构等通常用Oracle

     Mysql+web (LAMP: Linux  apache mysql  php   LNMP:Nginx)

3、mysql软件有哪些优点

     1)是一个开放源码的小型关系型数据库管理系统(100M左右、表表之间有联系,非关系型数据库-NoSQLogic)

     2)跨平台,支持AIX FreeBSD  HP-UX  Linux Windows等多种操作系统

     3)使用C和C++编写你,支持多种编译器,保证源代码的可移植性(make)

     4)为多种编程语言提供API,支持Python Java  Perl   PHP等脚本语言

  广泛应用在中小型的网站

4、搭建数据库服务器

     rpm包: rpm –ivh  xxx.rpm  

yum  –y install  xxx   功能已经集成好

     源码包:可以定制功能./configure 选项      make    make  install

     在ip地址是192.168.1.1服务器上搭建数据库服务

     软件包名: rpm –ivh mysql-server mysql

mysql-server :服务端

mysql客户端,提供命令工具

                mysql-devel 用来开发mysql程序的文件

rpm -qi  软件包名 查看详细信息

      启动服务:service mysqld start

      进程名:mysqld

      进程的所有者,所属组:mysql mysql   (源码包安装时需要自己设置)

      端口号:3306   netstat  -naptul | grep :3306

      传输协议:TCP

      主配置文件:/etc/my.cnf

      数据库目录:/var/lib/mysql

   登录数据库服务器—>选择一个库—>选择一个表—>把数据插入到表里

      登录数据库服务器:mysql  连接数据库的工具

whichmysql

rpm –qf/usr/bin/mysql

-h数据库的ip地址/名 -uroot  -p密码

root是数据库的管理员,默认数据库管理员登录本机数据库服器不需要密码

mysql  –hlocalhost –uroot  = mysql

mysql 库名  登录到指定的库



SQL语句:结构化查询语言,以;结尾

selectuser() ; //查看当前登录数据库的用户  用户名@客户端地址

;分割sql语句   \c终止sql语句  \G换行

         select查询所在库    use 数据库名切换库

         select databases();显示当前所在库

         show databases;查看服务器已有的库

         show tables     显示所在库,已有的表

         select * from user\G 换行显示表里的所有记录

         select * fromuser  不换行显示表里的所有记录

         select user,host from mysql 只显示表中user字段和host字段的记录

information_schema:虚拟库,存放的数据不占用物理磁盘空间,存放在当前的物理内存,保存已有库和表的信息,以及数据库运行的参数信息。

useinformation_schema 可以不以;结尾

mysql:授权库,保存用户的授权信息,存储的数据占用物理磁盘空间,当客户端登录数据库服务器时,使用此库表里的记录验证用户登录默认数据库管理员只能在数据库服务器本机登录,且没有密码,很重要,工作中要备份

test:公共库,默认是一个空库,可以连接到数据库的用户对此库拥有完全权限

数据库服务器上的库以文件夹的形式存放在数据库目录下,文件夹名与数据库名同名;表以文件的形式存放在自己所在的数据库对应的文件夹里,文件名与表名相同,默认情况下mysql会把一个表的数据用三个文件来保存

                            use test; //选择test库

                         showtables;   //查看当前所在库下的已有的表,每个表占一行

                          select * from 表名; //查看指定表中的所有记录 ,\G换行显示           

5、数据库管理

        

     create database 数据库名;  创建数据库,所有者和所属组为mysql

     数据库名的命名规则:数字、字母、下划线,区分大小写,不能用纯数字,具有唯一    性,不能用SQL的关键字,不能用特殊字符,要有标识性

     在/var/lib/mysql目录中创建一个目录,也是创建了数据库,权限是root,默认不    能建表

show databases;  //显示数据库

     drop database 数据库名; //删除数据库

     use 数据库名; //切换数据库

   

6、表管理

create  table  表名(                      // 在当前库中创建表

<字段名 字段类型>[(宽度)约束条件],

<字段名 字段类型>[(宽度)约束条件],

<字段名 字段类型>[(宽度)约束条件],



);

     create table  数据库名.表名(             //在指定库创建表

<字段名  字段类型>[(宽度) 约束条件],

<字段名  字段类型>[(宽度) 约束条件],



);

describe  表名;     //查看表结构,表在当前库

describe 数据库名.表名

insert  into 数据库名.表名(字段名1,字段名2,字段名n)  values   //插入记录

(字段名1的值,字段名2的值,字段名n的值),

(字段名1的值,字段名2的值,字段名n的值),

(字段名1的值,字段名2的值,字段名n的值);

//顺序项表中插入值时,可省略字段名,字符型的字段用双引号

      delete from 【表】

select * from 表名;   //查看表记录

select now();  //查看系统时间

select month(now());  //查看月份

select 字段名 from 表名; //查看指定字段





mysql的数据类型

1)数值类型(年龄、体重、身高、工资):

整数型(小整数tinyint 大整数smallint  极大整数bigint)

    浮点型(单精度float(n,m)  n表示数字总位数,m表示小数位个数

      双精度 double(n,m) )

    小整形默认为有符号的、宽度4,unsigned指定无符号、宽度默认3

  数值类型的宽度为显示宽度,不够显示宽度时,默认用空格补位,zerofull用0补位,设置宽度的目的视为了节省内存空间



spacer.gif   



2)字符串类型(名字、家庭住址):

定长char: 0-255字节,当小于指定宽度时,用空格补齐

变长varchar:0-65535字节,当小于指定宽度时,根据实际长度占用空间。L+D,节省空间,开销大

3)日期时间类型(生日、出生年份、注册时间):

年year  1个字节 范围1901-2155  用两位给year赋值时,1-69用20补齐,70-99用19补齐

日期date  4个字节 范围0001-01-01 9999-12-31   YYYY-MM-DD

小时time  3个字节 格式HH:MM:SS

日期时间datetime  8个字节,范围1000-01-01 00:00:00  9999-12-31 00:00:00  timestamp 4个字节范围1970-01-01 00:00:00  2073-12-31 00:00:00   不赋值时,默认用系统当前时间赋值





mysql内置的时间函数

now() 获取开始执行函数时的系统时间

sysdate() 执行时动态获得系统时间

sleep(N) 休眠N秒

curtime() 获取系统当前时间

curdate() 获取系统当前日期

month() 获取指定时间中的月份

date() 获取指定时间中的日期

time() 获取指定时间中的时间

year() 获取指定时间中的年份

4)枚举类型(性别、爱好,专业):字段的值只能在列举的范围内选择

单选 enum(“值1”,”值2”,”值n”)  赋值时可用序号

多选 set(“值1”,”值2”,”值n”)

约束条件:

Null:默认可以为空, not null 不允许为空

Key:索引字段

Default:默认情况下为NULL, default 设置默认值

Extra:额外设置





修改表结构(desc 表名)

修改表结构会影响表中已有记录,因此要在插入表记录之前修改表结构,若已有记录,在修改前先备份。

1、alter  table  数据库名.表名  处理动作;   //修改表结构

处理动作:

添加新字段 add  add  字段名 字段类型(宽度)  约束条件 after 字段名,

                   add  字段名  字段类型(宽度)  约束条件,

                  add  字段名  字段类型(宽度)  约束条件;

1)默认新添加的字段在已有字段的下方

2)first 把新字段添加在已有字段的首位

3)after  字段名  把新加字段放在指定字段前

        删除字段 drop   drop  字段名,

drop  字段名;

        修改字段类型   modify    modify  字段名 新字段类型(宽度)  约束条件,

modify  字段名 新字段类型(宽度)  约束条件,

modify  字段名  新字段类型(宽度)  约束条件;

***把不改变的原样写上。

修改字段名change  change 原字段名 新字段名 字段类型(宽度) 约束条件,

change 原字段名 新字段名 字段类型(宽度) 约束条件,

change 原字段名 新字段名 字段类型(宽度) 约束条件;

//当把类型(宽度)约束条件 是新的设置的时候,就一起把字段类型和约束条件也修改了

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-21610-1-1.html 上篇帖子: mysql grant权限表 下篇帖子: mysql用户操作权限名称
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表