mysql 数据类型和sql语句

sql:被称为结构化查询语言

其内部被分为:

DML语句:数据操作语言,用于增(insert),删(delete),查(select),改(update)

DDL语句:数据定义语言,用于实现数据存储,create,drop,alter

DCL语句:数据控制语言,一般用于权限控制。grant,revoke,commit, rollback

mysql发行版分为商业版(enterprise 收费),社区版(community  是免费版本)

官网:www.mysql.com

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‘;

原文地址:https://www.cnblogs.com/SunshineLittleCat/p/8279688.html

时间: 2024-10-09 06:19:55

mysql 数据类型和sql语句的相关文章

MySql数据类型和Java数据类型对应一览

类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述             VARCHAR L+N VARCHAR java.lang.String 12   CHAR N CHAR java.lang.String 1   BLOB L+N BLOB java.lang.byte[] -4   TEXT 65535 VARCHAR java.lang.String -1               INTEGER 4 INTEGER UNSIGNED java.la

mysql基础-数据类型和sql模式-学习之(三)

0x01 mysql的两种方向: 开发DBA:数据库设计(E-R关系图).sql开发.内置函数.存储历程(存储过程和存储函数).触发器.时间调度器(event scheduler) 运维---->管理DBA:安装.升级.备份.恢复.用户管理.权限管理.监控.分析.基准测试,语句优化(SQL语句).数据字典,按需要配置服务器(服务器变量:MyISAM,InnoDB,缓存,日志)SQL 语言组成部分: DDL:数据定义语言 DML:数据操作语言 完整性定义语言,DDL的一部分功能 主键约束.外键约束

MySql数据库数据类型和Sql Server 数据库数据类型之间的差异

1. MySQL支持enum和set类型,SQL Server不支持:2. MySQL不支持nchar.nvarchar.ntext类型:3. MySQL数据库的递增语句是AUTO_INCREMENT,而MS SQL是identity(1,1):4. MS SQL默认到处表创建语句的默认值表示是((0)),而在MySQL里面是不允许带两括号的:5. MySQL需要为表指定存储类型:6. MS SQL识别符是[],[type]表示他区别于关键字,但是MySQL却是 `,也就是按键1左边的那个符号:

MYSQL数据类型和where条件判断

MySQL中常见的数据类型 一.字符型 ① CHAR(N):固定N个字符长度的字符串,如果长度不够自动空格补齐; N的范围 0~255 ② VARCHAR(N): 存储可变长度的字符串,最常用 ③ TEXT: 存储可变长度的字符串,(常用于发布文章等大段内容) ④ TINYTEXT:0~2^8-1 *10 ⑤ MEDIUMTEXT: 0~2^24-1 *10^3; ⑥ LONGTEXT: 0~2^32-1 * 10^4;二.整形: ① TINYINT: 无符号0~2^8-1 有符号 -2^7 ~

MYSQL数据类型和where条件

MySQL中常见的数据类型 一.字符型 ① CHAR(N):固定N个字符长度的字符串,如果长度不够自动空格补齐; N的范围 0~255 ② VARCHAR(N): 存储可变长度的字符串,最常用 ③ TEXT: 存储可变长度的字符串,(常用于发布文章等大段内容) ④ TINYTEXT:0~2^8-1 *10 ⑤ MEDIUMTEXT: 0~2^24-1 *10^3; ⑥ LONGTEXT: 0~2^32-1 * 10^4;二.整形: ① TINYINT: 无符号0~2^8-1 有符号 -2^7 ~

mysql数据类型和java对应表(copy)

[说明] 资料来自:http://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-type-conversions.html MySQL数据类型 转换成java类型 CHAR, VARCHAR, BLOB, TEXT, ENUM, and SET java.lang.String, java.io.InputStream, java.io.Reader, java.sql.Blob, java.sql.Clob FLOAT,

在C#项目中需要用double类型操作MSSQL float类型数据(附C#数据类型和SQL数据类型对照)

C#操作SQL Float类型,数据会多很多小数,原来是C#的float和sql的float类型不一致.以下是数据库中与C#中的数据类型对照. /// <summary> /// 数据库中与C#中的数据类型对照 /// </summary> /// <param name="type"></param> /// <returns></returns> private string ChangeToCSharpTyp

mysql数据类型和Java数据类型对比一览

MySQL Types to Java Types for ResultSet.getObject() MySQL Type Name Return value ofGetColumnClassName Returned as Java Class BIT(1) (new in MySQL-5.0) BIT java.lang.Boolean BIT( > 1) (new in MySQL-5.0) BIT byte[] TINYINT TINYINT java.lang.Boolean if

mysql数据类型和Java数据类型对照一览

MySQL Types to Java Types for ResultSet.getObject() MySQL Type Name Return value ofGetColumnClassName Returned as Java Class BIT(1) (new in MySQL-5.0) BIT java.lang.Boolean BIT( > 1) (new in MySQL-5.0) BIT byte[] TINYINT TINYINT java.lang.Boolean if