mysql基础教程

使用T-SQL脚本修改数据

create database test2;

总结:修改数据表数据,灵活组合修改数据列,数据源,查询条件是关键。

 

5)创建/删除数据表:

修改单表中一行单列或者多列数据

语法:update 表名 set 列名1=值,列名2=值 where 条件;

示例一:update test1  set age='21' where id='1';

示例结果:

图片 1

2)创建/删除数据库:创建:【create database 数据库名;】删除:【drop database 数据库名】

修改任意一条或者多条都可以

1:打开数据库,选择数据表,右键点击-》编辑所有行(如未配置,点击编辑前200行)。

图片 2

2、编辑需要修改的数据-》编辑完成后,右键点击空白处-》选择执行SQL即可编辑成功。

图片 3

?插入数据:【insert into 表名 [(列名1,列名2......列名n)] values [(值1,值2......值n)]】。有以下几点需要注意:

多表关联修改表中数据

语法:update 表1 set 表1.列1=值,表1.列2=值 from 表1 as a,表2 as b where a.列名=b.列名;

示例:update test1 set test1.name='李华',test1.sex='女' from test1 as a,test2 as b where a.classid=b.id;

示例结果:

 图片 4

图片 5

【insert into testworkers (id,name,sex) values (10005,'cxx','male'),(10006,'dxx','male');】

修改单表中多行一列或多列数据

语法:update top(数量) 表名 set 列名1=值,列名2=值2 where 条件;

示例:

update test1 set age='23' where id in ('1','2');

update test1 set age='22' where id between '3' and '4';

update test1 set age='23' where id>='5' and id <='6';

update top(2) test1 set age='23' where id>='5';

update test1 set age='23' where test1.id in (select top(2) id from test1 order by id desc);

示例结果:

图片 6

图片 7

sex char(6) not null,

使用SSMS数据库管理工具修改数据

查询testworkers表的所有年龄小于40的员工工号和姓名并按年龄升序进行排序:【select id ,name from testworkers where age<40 order by age;】

查询testworkers表的全部工号:【select id from testworkers;】

YEAR 1 YYYY 2017

sql脚本是包含一到多个sql命令的sql语句,我们可以将这些sql脚本放在一个文本文件中(称之为“sql脚本文件”),然后通过相关的命令执行这个sql脚本文件,简单的理解sql即是sql语句的批处理文件。

8.查询多个列并按列的位置排序:【select 列名1,列名2......列名n from 表名 order by x y;】注意这种方法只适用于排序的列在select的列之中,且列的位置不是指完整数据表中该列的位置号,而是指select语句后的位置号。

11.组合条件查询:使用where子句搭配逻辑操作符,逻辑操作符主要有

mysql_fetch_field():返回一个表列的信息;

7.查询多个列并排序:【select 列名1,列名2......列名n from 表名 order by 列名x 列名y;】要注意的是:排序按语句的顺序进行,当列x的所有数据不同时,列名y排序无效;当列x的数据有重复时,则按照列y的顺序进行排序。

整型:(无符号通过unsigned关键字标识)

查询testworkers表的所有工号小于10005的男性员工的工号和姓名,并按照他们的年龄进行降序排序:【select id,name from testworkers where id<10005 and sex='male' order by age desc;】

use test2;

5.是否可以为NULL;

1)Sql语句必须以;结束;

更新所有行的某一单列:【update 表名 set 列名=新值;】

3)可自由加入空白和换行符;

日期和时间类型:

1.5 c/c++程序中通过mysql的c api对mysql进行增删改查的操作:

浮点型:

字符串类型:

mysql_real_query():包含二进制数据的操作必须用这个,此外real的速度更快;

int 4 -2147483648~2147483647 0~4294967295

4.是否为主键;

具体编写调试和验证步骤如下,测试代码另附:

4.查询列并限制前n行:【select 列名from 表名 limit n;】,查询列并限制从m+1行开始的n行:【select 列名from 表名 limit m offset n;】

3.代码执行:./test,执行编译链接后的可执行文件。

tinyint 1 -128~127 0~255

?查询数据库:【show databases;】在通过该命令查询时发现在除自己创建的数据库之外,还有三个默认的库,查找相关资料后对其进行了认识,分别是:information_schema库,该库保存着关于MySQL服务器所维护的所有其他数据库的信息,如数据库名,数据库的表等;mysql库,mysql的核心数据库,存储了数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息;performance_schema库,该库主要用于收集数据库服务器性能参数。

?查询表结构:【desc 表名】。

4)注释的使用:单行注释格式为:【--注释】,多行注释格式为【/*注释*/】。

10.特定条件查询:使用where子句:【select 列名1,列名2......列名n from 表名 where 条件;】,这里的条件是指由where子句的操作符所定义的条件表达式,where子句的操作符如下,意思如字面所示。

类型 字节 含义 用途

2.对sql脚本进行编辑,内容为:

类型 字节 含义

删除所有行:【delete from 表名;】,一般当想要清空表时不会使用上述命令,而是使用【turncate table 表名;】该命令比使用delete清空时更快。

查询testworkers表的员工姓名并按他们的年龄升序排序:【select name from testworkers order by age;】

通配符 含义

name char(8) not null,

一次性插入多列:

3)查询数据库/数据表:

查询testworkers表的所有姓名在为axx、或cxx、或、dxx之间的男性员工的工号和姓名并按照年龄进行降序排序,当年龄相同时按照工号进行降序排序:【select id,name from testworkers where name in ('axx','cxx','dxx') and not sex='female' order by age desc,id desc;】

6.查询单个并排序:使用order by 子句:【select 列名 from 表名 order by 列名;】注意这里的两个列名并不一定需要相同,且order子句一定在命令的最末尾。

and和or分别表示逻辑上的与和或,但是要注意and的优先级高于or,在组合使用时要注意搭配顺序。in操作符用于指定一个范围,in操作符后跟由逗号分隔的合法值,这些值必须括在圆括号中。not操作符表示否定其后所跟的条件,其从不单独使用。

?删除数据表:【drop table 表名;】

Mysql的c api提供了众多功能的结构和函数,其中比较常用的有:

将testworkers表的id列修改为work_id,数据类型为smallint:【alter table testworkers change id work_id smallint unsigned not null;】

?行:表中的数据是按行存储的,行是表中的一个记录。如果将表想象为网格,网格中垂直的列为表列,水平行为表行。

TINYTEXT 0-255 短文本字符串

mediumint 3 -8388608~8388607 0~16777215

?主键:数据库中的标识列,主键具有唯一性且不能为NULL。

1.2mysql语句规范:

    删除testworkers表的全部内容:【truncate table testworkers;】

【create table testworkers

登录后:【use testdb】

查询testworkers表的全部工号和姓名:【select id,name from testworkers;】

1)在代码中数据库的连接和创建通过函数的返回值进行验证,在命令行中输出信息。

有这样一条命令需求:查询testworkers表的员工工号<10003或者工号>10004的同时年龄>30的员工的姓名。如果按照下面命令1的方式来写:

4.结果检测:

删除testworkers表:【drop table testworkers;】

登录本机mysql数据库:【mysql -u root -p】

更新特定行的某一单列:【update 表名 set 列名=新值 where 更新条件;】

mysql_query():执行sql语句的函数,创建库、创建表、添加数据、查询数据都可用此函数实现;

1.代码编写:vim test.cpp,编写c++代码文件。

TEXT 0-65535 文本字符串

查询testworkers表的所有不同年龄:【select distinct name from testworkers;】

LONGBLOM 0-4294967295 二进制形式的长文本数据

create table test

1.3 mysql的命令行操作命令:

1.表名;

= != < <= > >= !< !> between is null

删除特定行:【delete from 表名 where 删除条件;】

1.4 mysql脚本的使用:

LONGTEXT 0-4294967295 长文本字符串

MYSQL_FIELD:列信息;

6)数据的增删改查等操作:

命令1:【select name from testworkers where id<10003 or id>10004 and age>30;】

一次性插入多列,同时只对部分列赋值:

age tinyint unsigned not null

          name char(8) not null,

3.执行sql脚本:mysql -u root -p11111 -e "source /root/test.sql"

5.可以使用set子句来插入数据,格式为【insert into set 列名1=’值1’,列名2=’值2’】;

MEDIUMTEXT 0-16777215 中等本文字符串

?删除数据:

id int unsigned not null auto_increment primary key,

为了能全面理解代码中通过api对数据库控制的基本应用,我通过在linux环境下编写测试代码,并编译运行,通过对打印信息检查命令的运行状态,最终编译运行并通过测试,完成对此部分内容的学习。

TIMESTAMP 4 YYYYMMDD HHMMSS 20170722 154730

查询testworkers表的员工工号、姓名和年龄,并按年龄进行排序,当年龄相同时则按照工号进行排序:【select id,name,age from testworkers order by age,id;】

登录时:【mysql -D testdb -u root -p】,或者【mysql -D testdb -u root -p11111】

查询testworkers表的全部内容:【select * from testworkers;】

1.into可以省略;

修改列:【alter table 表名 change 列名称 列新名称 新声明;】

示例:

示例:

mysql_fetch_row():从结果集中获取下一行数据;

mysql数据库,当登录当前主机时可省略;-u指定用户名,默认为root;-p为安装时设定的密码,如果为空可以省略。

);

mysql_store_result():查询结果的存储;

在testworkers表的age列之后新增一列department列:【alter table testworkers add department varchar(100) not null after age;】

Mysql是一种关系型数据库,将数据存放在不同的表格中,表格中的要素有:

TIME 3 HH:MM:SS 15:47:30

本文由美高梅官方网站发布于数据统计,转载请注明出处:mysql基础教程

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。