当前位置:Gxlcms > 数据库问题 > mysql 数据类型和sql语句

mysql 数据类型和sql语句

时间:2021-07-01 10:21:17 帮助过:43人阅读

mysql 是c/s 架构的,有客户端还有服务器端 mysql提供的软件有三种软件包格式:1.软件包管理器独有的格式,如rpm包,2.通用2进制软件,无需安装直接解压配置即可使用。 3.源程序   官网提供了不同操作系统需要的软件包。Linux的可以下载 Linux Generic 这是通用二进制格式的,我们需要下载使用glibc编译的包。通用2进制 Linux - Generic (glibc 2.5) (x86, 32-bit), Compressed TAR Archive   红帽软件包管理器本身就提供了mysql 使用命令 yum list all |grep mysql 查看 技术分享图片   其中mysql.i686  表示mysql客户端 mysql-server.i686 表示mysql服务器端数据库 mysql-bench.i686 表示数据库性能测试,压力测试组件   对应红帽官方提供了,最重要的是mysql  mysql-server,基本上都是5.1版本的比较老,最新的包只能去mysql官网下载。除非需要定制使用mysql才会用到源码包。 红帽系统上 mysql是客户端,mysqld叫服务器端,mysql监听在tcp3306端口,一般以mysql用户和mysql用户组去运行。红帽系统上默认mysql数据库的数据保存位置在/var/lib/mysql/目录下。 使用yum -y install mysql-server  会自动安装mysql服务器端和客户端。安装完成后mysql会有一个初始化的动作:mysql创建完成后里面就有一个独特的数据库名称叫mysql里面存放了源数据,就是存一些当前数据库里面有多少个数据库,每个数据库叫什么名字,总共有多个表,每个表叫什么名字,以及总共多少字段,字段属性,刚开始安装完成这个mysql数据库是不存在的,因此初始化就是建立这个数据库,因此第一个启动。使用命令 service mysqld start   就会执行初始化。mysql有一个root用户和Linux操作系统的root是两码事。不是同一个用户,刚安装完root密码为空。root就是最高权限用户 使用yum安装完成后,直接敲mysql命令。即可进入 使用 -u 可以指定使用哪个用户去连接。 -p 可以使用密码 -h 指定服务器地址,不使用-h 默认连接本地 例如 mysql -u root -p -h 192.168.1.111 退出mysql 使用quit命令   Linux连接本地mysql 是基于socket 连接,而socket文件通常在/var/lib/mysql下面 如果客户端和服务器端不在一台主机上面就必须使用tcp/ip协议连接   mysql客户端工作模式:交互式模式,批处理模式(可以实现mysql脚本)   交互式模式命令类别:  客户端命令:可以在交互式模式下使用\h获取客户端命令帮助 技术分享图片  每个命令后面的 \ 代表可以使用这样的简写命令 服务器端命令: 服务器端命令都需要命令语气结束符 默认为分号 ;   SQL 接口: oracle 的 PL/SQL   关系数据库对象:表,索引,视图,约束,存储函数,触发器,游标,用户,权限,事务 关系型数据库,核心是表。有行(row)和列(column)组成。   mysql数据类型: 字符,数值,日期,布尔   字符类型使用char 表示,定义字符类型还需要指定长度,比如 char(5) varchar( ) 可变长字符类型。字符类型存储不区分大小写,要想区分大小写使用 BINARY() VARBINARY()可变长度  TEXT()  大对象字符存储。可用于存储长字符   数值类型:分为精确数值型:整型(TINYINT,SMALLINT,MEDIUMINT,INT,BIGINT) 整型修饰符,可以使用UNSIGNED 是无符号整型。 NOT NULL 非空 近似数值型:浮点型(FLOAT,DOUBLE)   日期时间 DATE TIME DATETIME STAMP   布尔:使用0和1表示     mysql 常用命令: 对mysql而言不区分大小写。 创建数据库: create database 数据库名; create database if not exists 数据库名称;   删除一个数据库 drop database 数据库名称; 注意mysql数据库没有回收站,删除就无法恢复 技术分享图片 创建表 创建表之前先要选择使用哪个数据库创建表。 例如:我们有一个数据库叫做python。我们在上面建立一个表,先要选择这个数据库 use python; 创建表: create table students(name char(20) not null,age tinyint unsignet,sex char(1) not null  )   查看表: show tables; 查看库中的表 show tables from 数据库名; 查看表结构 desc  表名;   删除表: drop table表名; 或者drop table if exists 表名;   修改表: modify :修改某字段属性 change :改变字段名称 add :添加字段 drop :删除字段 比如给刚才的表 students 添加一个字段  alter table students add course varchar(100);  默认添加字段在最后,我们添加了一个course 字段 想要将course字段的第一个字母改成大写,并且放在name字段前面。 alter table students chang course Course varchar(100) after name;   删除字段: drop 字段名称;   插入数据: insert into  表名(字段1,字段2,.........)values (‘字符‘,数字........) 如果是每个字段都要插入值,则不需要指定字段 批量插入: insert into  表名(字段1,字段2,.........)values (‘字符‘,数字........),(‘字符‘,数字.................) 例如往students 表的字段,name ,sex插入两名字 和性别 insert into students (name,sex) value(‘py1‘,‘M‘),(‘py2‘,‘F‘);   插入完成再使用select * from students;  查询表中所有数据看看 替换数据: replace into     修改数据: update 表名  set  字段=值;  where 条件; 例如我们修改students 表中的字段的py1的性别 M 改为F uptate students set sex=‘F‘where name=‘py1‘;   删除某行: delete   from  students where name=‘py1‘ 这里是删除掉name字段包含有py1的   选择: selcet 字段 from 表名 where 条件 * :表示所有字段 创建用户:  create user ‘username‘@‘host‘ identified by ‘passwd‘; 这样创建只能连接到mysql,进行一些查看而且,权限很小 删除用户: drop user ‘username‘@‘host‘; host:可以使用ip,主机名,网络地址,通配符 _  : 表示匹配任意单个字符 %:匹配任意长度任意字符   授权用户 grant  权限1,权限2,权限....... on  db_name.tab_name to ‘username‘@‘host‘  [identified by ‘passwd‘];   授权所有权限: all privileges 用户不存在自动创建 查看用户权限: show grants for ‘username‘@‘host‘; 取消授权: revoke 权限1,权限2,......on db_name.tab_name from ‘username‘@‘host‘;  

mysql 数据类型和sql语句

标签:字母   客户端命令   mysqld   yum安装   body   查询   大小写   源码包   inux   

人气教程排行