精华内容
下载资源
问答
  • 数据库增加数据: 1)插入单行 insert [into] (列名) values (列值) 例:insert into t_table (name,sex,birthday) values ('开心朋朋','男','1980/6/15') 2)将...insert intoVB里面语句,怎么实现对SQL数据库里面...

    数据库增加数据: 1)插入单行 insert [into] (列名) values (列值) 例:insert into t_table (name,sex,birthday) values ('开心朋朋','男','1980/6/15') 2)将现有表数据添加到一个已有表 insert into (列名) select from 例:insert into

    VB里面语句,怎么实现对SQL数据库里面数据的增删改查

    比如说我做的一个VB的界面,专门用来插入某个商品的信息,包括商品编号下面的例子就是对数据库进行添加删除修改的操作: Private Sub Command1_Click() For i = 0 To 5 Text1(i).Text = "" Next i Adodc1.RecordSource = "select * from " & s1 & " order by 编号" Adodc1.Refresh If Adodc1.Recordset.RecordCount

    3350e94505ccd6b11c135f1b1c68aa66.png

    SQL Server增删改查语句

    SQLSQL常用增删改查语句作者:hiker一.Insert插入语句1.Insertinto表名(列名)values(对应列名值)//插入一行.2.Insertinto新表名(列名)Select(列名)旧表名3.Select旧表名.字段…Into新表名from旧表名4.Selectidentity(数据类型,标识种子。

    在struts2中对数据库的增删改查语句。

    struts2是一个web层的框架,对数据库的增删改查没有影响,它只负责跟web页面打交道,接收、传递数据、跳转到相应显示页面。而实现对数据的增删改查,如果你用没有用orm框架而直接用jdbc,则写相应的sql语句,然后执行即可。

    建立一个关于学生的数据库,利用SQL语句进行增删改查

    Create Table Students ( StudentID Int, StudentsName Varchar(32), StudentsAge Int ... ) Select * From Students 查询 Update Students 修改 Set StudentsName = 'Adam' Where StudentsID = '001' Insert into Students 新增 Select '

    数据库增删改查语句怎么写?要标注的?

    首先,不同数据库管理系统的SQL语句不同, 再次,sqlserver的语句是这样的: 增: INSE INTOTableNameVALUES(‘列值’,‘列值’, ,‘列值’) 删: DELETE FROM TableName WHERESomeCondition; 改: UPDATETableName SET ColumnName = 列值 WHERESome

    增: INSE INTO 表名称 VALUES (值1, 值2,)删: DELETE FROM 表名称 WHERE 列名称 = 值改: UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值查: SELECT 列名称 FROM 表名称查询表所有列: SELECT * FROM 表名称注释:SQL 语句对

    mysql和SQL中增删改查语句是否一样呢mysql和SQL中增删改查语句是否一样呢

    mysql和SQL标准的增删改查的语句,大部分都是一样,毕竟很多厂商都会按照关系数据库的标准来实现,不过不同的数据库有些会有点不同的。

    Access数据库写句简单的增删改查

    第一次用这个数据库,听说与sql serverV差不多,不过就是写不出来,麻烦插入:insert intotable1(field1,field2) values(value1,value2) 删除:delete from table1where 范围 更新:update table1 setfield1=value1 where 范围查找:select * from table1 where field1 like ’%value1%’

    sql数据库存储过程增删改查四个语句?

    增删改查四个语句。。。。给个实例。。。。。。

    SQL SELECT DISTINCT 语句:在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。 关键词 DISTINCT 用于返回唯一不同的值。 INSE INTO 语句:INSE INTO 语句用于向表格中插入新的行。

    展开全文
  • SQL常用增删改查语句

    2013-10-30 14:04:25
    文档整理了SQL常用的增加删除修改查询语句。分别有基本语句,高级查询语句,函数查询语句,事务,存储过程等。
  • asp.net实现oracle存储过程增删改查示例 (1)三层架构实现 (2)oracle存储过程实现增删改查 (3)oracle sql语句实现增删改查 (4)asp.net代码调用 (5)ibatis框实现增删改查 我在公司学习了一个星期的作品,...
  • mysql增删改查语句大全

    万次阅读 多人点赞 2018-05-21 16:05:37
    #含有qq字符 _表示一个 % 表示多个 select * from test order by id asc ;#降序desc select * from test id not in ( ' 2 ' , ' 3 ' );#id不含2,3或者去掉not表示含有 select * from ...
    #登录数据库
    mysql
    -hlocalhost -uroot -p;
    #修改密码
    mysqladmin
    -uroot -pold password new;


    #显示数据库
    show databases;
    #显示数据表
    show tables;
    #选择数据库
    use examples;
    #创建数据库并设置编码utf
    -8 多语言
    create database `examples` default character set utf8 collate utf8_general_ci;
    #删除数据库
    drop database examples;
    #创建表
    create table test(
    id
    int(10) unsigned zerofill not null auto_increment,
    email
    varchar(40) not null,
    ip
    varchar(15) not null,
    state
    int(10) not null default '-1',
    primary key (id)
    )engine
    =InnoDB;
    #显示表结构
    describe
    #删除表
    drop table test;
    #重命名表
    alter table test_old rename test_new;
    #添加列
    alter table test add cn int(4) not null;
    #修改列
    alter table test change id id1 varchar(10) not null;
    #删除列
    alter table test drop cn;
    #创建索引
    alter table test add index (cn,id);
    #删除索引
    alter table test drop index cn
    #插入数据
    insert into test (id,email,ip,state) values(2,'qq@qq.com','127.0.0.1','0');
    #删除数据
    delete from test where id = 1;
    #修改数据
    update test set id='1',email='q@qq.com' where id=1;
    #查数据
    select * from test; #取所有数据
    select * from test limit 0,2; #取前两条数据
    select * from test email like '%qq%' #查含有qq字符 _表示一个 %表示多个
    select * from test order by id asc;#降序desc
    select * from test id not in('2','3');#id不含2,3或者去掉not表示含有
    select * from test timer between 1 and 10;#数据在1,10之间

    #
    ---------------------------表连接知识------------------------------
    #等值连接又叫内链接 inner join 只返回两个表中连接字段相等的行
    select * from A inner join B on A.id = B.id; #写法1
    select * from A,B where A.id = B.id; #写法2
    select a.id,a.title from A a inner join B b on a.id=b.id and a.id=1;#写法3 表的临时名称
    select a.id as ID,a.title as 标题 from A inner join B on A.id=B.id;#添加as字句

    #左连接又叫外连接
    left join 返回左表中所有记录和右表中连接字段相等的记录
    select * from A left join B on A.id = B.id;

    select * from A left join (B,C,D) on (B.i1=A.i1 and C.i2=A.i2 and D.i3 = A.i3);#复杂连接

    #右连接又叫外连接
    right join 返回右表中所有记录和左表中连接字段相等的记录
    select * from A right join B on A.id = B.id;

    #完整外部链接
    full join 返回左右表中所有数据
    select * from A full join B on A.id = B.id;

    #交叉连接 没有where字句 返回卡迪尔积
    select * from A cross join B;
    -------------------------表连接结束------------------------------------------------------------
    --
    ---------------索引创建------------------------------------------------
    show index from A #查看索引
    alter table A add primary key(id) #主键索引
    alter table A add unique(name) #唯一索引
    alter table A add index name(name) #普通索引
    alter table A add fulltext(name) #全文索引
    alter table A add index name(id,name) #多列索引

    #常用函数
    abs(-1)#绝对值
    pi()#pi值
    sqrt(2)#平方根
    mod(
    -5,3)#取余-2
    ceil(
    10.6)#进位+1 结果11 ceil(10.0)结果10
    floor(10.6)#取整 10
    round(2.5)#四舍五入到整数 结果3
    round(2.5,2)#保留两位小数 结果2.50
    truncate(2.5234,3)#取小数后3位不四舍五入 2.523
    sign(-2);#符号函数 返回-1 0还是0 正数返回1
    pow(
    2,3),exp(2);#2的3次幂 或e的2次幂
    log(2),log10(2);#求对数
    radians(180),degrees(0.618);#角度弧度转换
    sin(0.5),asin(0.5)#正弦和反正弦 类似cos acos tan atan
    length(
    'hi')#计算字符长度
    concat(
    '1',1,'hi')#合并字符串
    insert('12345',1,0,'7890');#从开头第1个字符开始到0个结束,替换成后边字符串,0表示在最前边插入
    ucase(
    'a'),lcase('A')#转成大写和小写
    left('abcd',2),right('abcd',2);#返回前两个字符和后两个字符
    ltrim(' 0 '),rtrim(' 0 '),trim(' 0 ')#删除空格
    replace('1234567890','345678','0');#替换输出12090
    substring('12345',1,2)#取字符 输出12 1是位置 2是长度
    instr(
    '1234','234');#取得234位置是2
    reverse('1234');#反序输出4321
    current()#返回日期
    curtime()#返回时间
    now()#返回日期时间
    month(now())#当前月份 monthname 英文月份
    dayname(now())#星期英文 dayofweek()1是星期天 weekday()1是星期二
    week(now())#本年第多少周
    dayofyear(now()),dayofmonth(now())#今天是本年第多少天 今天是本月第多少天
    year(now()),month(now()),day(now()),hour(now()),minute(now()),second(now())#返回年月日 时分秒
    time_to_sec(now()),sec_to_time(
    3600*8);#转换时间为秒和还原
    version()#mysql版本
    database()#当前连接的数据库 没有为null
    user()#获取用户名
    md5(
    'a')#加密字符串
    ascii('a')#ascii值97
    bin(
    100),hex(100),oct(100)#返回二进制 十六进制 八进制
    conv(
    10001,2,8);#各种进制相互转换
    rand()#生成0到1之间随机数
    sleep(
    0.02)#暂停秒数
    ---------------------------------

    1. MySQL 为日期增加一个时间间隔:date_add()

    set @dt = now();

    select date_add(@dt, interval 1 day);   - 加1天

    select date_add(@dt, interval 1 hour);   -加1小时

    select date_add(@dt, interval 1 minute);    - 加1分钟

    select date_add(@dt, interval 1 second); -加1秒

    select date_add(@dt, interval 1 microsecond);-加1毫秒

    select date_add(@dt, interval 1 week);-加1周

    select date_add(@dt, interval 1 month);-加1月

    select date_add(@dt, interval 1 quarter);-加1季

    select date_add(@dt, interval 1 year);-加1年

    MySQL adddate(), addtime()函数,可以用date_add() 来替代。下面是date_add() 实现addtime() 功能示例:

    mysql> set @dt = '2009-09-09 12:12:33';

    mysql>

    mysql> select date_add(@dt, interval '01:15:30' hour_second);-加上1小时15分30秒

     date_add(@dt, interval '01:15:30' hour_second)

     

    结果:2009-09-09 13:28:03

     

    mysql> select date_add(@dt, interval '1 01:15:30' day_second);-加1天1小时15分30秒

     date_add(@dt, interval '1 01:15:30' day_second)

     2008-08-10 13:28:03

    date_add() 函数,分别为@dt 增加了“1小时15分30秒” 和 “1天1小时15分30秒”

    2. MySQL 为日期减去一个时间间隔:date_sub()

    mysql> select date_sub('1998-01-01 00:00:00', interval '1 1:1:1' day_second);

     date_sub('1998-01-01 00:00:00', interval '1 1:1:1' day_second)

     www.2cto.com

    MySQL date_sub() 日期时间函数 和date_add() 用法一致,不再赘述。另外,MySQL 中还有两个函数subdate(), subtime(),建议,用date_sub() 来替代。

    3. MySQL 另类日期函数:period_add(P,N), period_diff(P1,P2)

    函数参数“P” 的格式为“YYYYMM” 或者 “YYMM”,第二个参数“N” 表示增加或减去N month(月)。

    MySQL period_add(P,N):日期加/减去N月。

    mysql> select period_add(200808,2), period_add(20080808,-2)

    | period_add(200808,2) | period_add(20080808,-2) |

    结果|               200810 |                20080806 |

    MySQL period_diff(P1,P2):日期P1-P2,返回N 个月。

    mysql> select period_diff(200808, 200801);

     period_diff(200808, 200801)

      结果:7

     MySQL 中,这两个日期函数,一般情况下很少用到。

    4. MySQL 日期、时间相减函数:datediff(date1,date2), timediff(time1,time2)

    MySQL datediff(date1,date2):两个日期相减date1 date2,返回天数。网站制作学习网整理

    select datediff('2008-08-08', '2008-08-01'); - 7

    select datediff('2008-08-01', '2008-08-08'); -7

    MySQL timediff(time1,time2):两个日期相减time1 time2,返回time 差值。

    select timediff('2008-08-08 08:08:08', '2008-08-08 00:00:00');- 08:08:08

    select timediff('08:08:08', '00:00:00');                      - 08:08:08

    注意:timediff(time1,time2) 函数的两个参数类型必须相同。

    ---------------------------------

    MySQL DATE_FORMAT() 函数

    定义和用法

    DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。

    语法

    DATE_FORMAT(date,format)

     参数是合法的日期。 规定日期/时间的输出格式。

    可以使用的格式有:

    格式 描述
    %a缩写星期名
    %b缩写月名
    %c月,数值
    %D带有英文前缀的月中的天
    %d月的天,数值(00-31)
    %e月的天,数值(0-31)
    %f微秒
    %H小时 (00-23)
    %h小时 (01-12)
    %I小时 (01-12)
    %i分钟,数值(00-59)
    %j年的天 (001-366)
    %k小时 (0-23)
    %l小时 (1-12)
    %M月名
    %m月,数值(00-12)
    %pAM 或 PM
    %r时间,12-小时(hh:mm:ss AM 或 PM)
    %S秒(00-59)
    %s秒(00-59)
    %T时间, 24-小时 (hh:mm:ss)
    %U周 (00-53) 星期日是一周的第一天
    %u周 (00-53) 星期一是一周的第一天
    %V周 (01-53) 星期日是一周的第一天,与 %X 使用
    %v周 (01-53) 星期一是一周的第一天,与 %x 使用
    %W星期名
    %w周的天 (0=星期日, 6=星期六)
    %X年,其中的星期日是周的第一天,4 位,与 %V 使用
    %x年,其中的星期一是周的第一天,4 位,与 %v 使用
    %Y年,4 位
    %y年,2 位

    实例

    下面的脚本使用 DATE_FORMAT() 函数来显示不同的格式。我们使用 NOW() 来获得当前的日期/时间:

    DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p')
    DATE_FORMAT(NOW(),'%m-%d-%Y')
    DATE_FORMAT(NOW(),'%d %b %y')
    DATE_FORMAT(NOW(),'%d %b %Y %T:%f')
    

    结果类似:

    Dec 29 2008 11:45 PM
    12-29-2008
    29 Dec 08
    29 Dec 2008 16:25:46.635
    
    --------------------

    数据库优化
    1.开启缓存,尽量使用php函数而不是mysql
    2. explain select 语句可以知道性能
    3.一行数据使用 limit 1
    4.为搜索字段重建索引 比如关键字 标签
    5.表连接join保证字段类型相同并且有其索引
    6.随机查询使用php $r = mysql_query("SELECT count(*) FROM user");
    $d
    = mysql_fetch_row($r);
    $
    rand = mt_rand(0,$d[0] - 1);
    $r
    = mysql_query("SELECT username FROM user LIMIT $rand, 1");
    7.避免使用select * 应该使用具体字段
    8.每张表都是用id主键,并且是unsigned int
    9.对于取值有限而固定使用enum类型,如性别 国家 名族 部门 状态
    10.尽可能使用not null ip存储使用int(4),使用ip 转化函数ip2long()相互long2ip()
    11.delete和insert语句会锁表,所以可以采用分拆语句操作
    while(1){操作语句;usleep(2000);}
    12.选择正确的存储引擎;MyISAM适合大量查询 写操作多用InnoDB支持事务

    #存储过程
    #存储程序
    delimiter #定义存储程序
    create procedure getversion(out params varchar(20)) #params是传出参数 in传进 out传出 inout传回
    begin
    select version() into params; #版本信息赋值params
    end
    call getversion(
    @a); #调用存储过程
    select @a;
    delimiter #定义存储函数
    create function display(w varchar(20)) returns varchar(20)
    begin
    return concat('hello',w);
    end
    select display('world');

    drop procedure if exists spName; #删除一个存储过程
    alter function spName [];#修改一个存储过程
    show
    create procedure spName;#显示存储过程信息
    declare varName type default value;#声明局部变量
    #if语句
    if 条件 then 语句
    elseif 条件
    then 语句
    else 语句
    end if
    #case语句
    case 条件
    when 条件 then 语句
    when 条件 then 语句
    else 语句
    end case
    #loop语句
    fn:loop
    语句
    end loop fn;
    leave fn #退出循环
    #while语句
    fn:
    while 条件 do
    语句
    end while fn


    #mysql使用帮助资料
    ? contents; #列出帮助类型
    ? data types;#列出数据类型
    int;#列出具体类型
    ? show;#show语句
    ?
    create table;#
    #常见表的比较
    Myisam BDB Memory InnoDB Archive
    存储限制 no no yes 64T no
    事物安全 支持 支持
    锁机制 表锁 页锁 表锁 行锁 行锁
    全文索引 支持
    外键支持 支持
    myisam frm存储表定义 MYD存储数据 MYI存储索引
    InnoDB 用于事务处理
    char 和 varchar保存和索引都不相同
    浮点数float(
    10,2) 定点数decimal(10,2)
    长度一定下,浮点数表示更大数据范围,缺点是引起精度丢失,货币等使用定点数存储
    索引适合于where字句或者连接字句列
    对于唯一值使用唯一索引

    添加新用户
    grant select,insert,update,delete on *.* to Yoby@localhost identified by 'mysql';
    #
    *.* 数据库名.表名,限制登录某一个数据库 test.* localhost是本地主机 网络可以使用 '%'代替所有主机 'mysql'是密码 Yoby是用户名 所有权限可以用 all代替
    查看用户权限 show grants
    for 'root'@'localhost';
    移除权限
    revoke all on *.* from root@localhost;
    group by id 分组
    having 限制字句
    select1
    union select2 联合查询有重复去掉保留一行
    select2
    union all select2 所有行合并到结果集中去
    --------------------------------------------------------------------
    修改MYSQL参数
    show variables like '%Func%';
    set global log_bin_trust_function_creators=1;
    show variables like '%Func%';
    实用的insert select语句:
    INSERT INTO KM_MEMBER_RELA_FULLCUT (
    	SELECT
    		a.MB_ID,
    		b.MPFC_ID,
    		1
    	FROM
    		KM_MEMBER a,
    		KM_MEMBER_PREF_FULLCUT b
    	WHERE
    		b.MPFC_STATUS = 0
    	AND NOT EXISTS (
    		SELECT
    			1
    		FROM
    			KM_MEMBER_RELA_FULLCUT
    		WHERE
    			MB_ID = a.MB_ID
    		AND MPFC_ID = b.MPFC_ID
    	)
    

    )

    转自:https://blog.csdn.net/a454832841/article/details/52814812

    展开全文
  • MySQL 增删改查语句

    2021-04-08 14:02:29
    INSERT INTO 语句 INSERT INTO 语句用于向表格中插入新的行。 语法 INSERT INTO 表名称 VALUES (值1, 值2,....) 我们也可以指定所要插入数据的列: INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,.......

    INSERT INTO 语句

    INSERT INTO 语句用于向表格中插入新的行。

    语法

    INSERT INTO 表名称 VALUES (1,2,....)
    

    我们也可以指定所要插入数据的列:

    INSERT INTO table_name (1,2,...) VALUES (1,2,....)
    

    DELETE 语句

    DELETE 语句用于删除表中的行。

    语法

    DELETE FROM 表名称 WHERE 列名称 =

    Update 语句

    Update 语句用于修改表中的数据。

    语法:

    UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
    

    SQL SELECT 语句

    SELECT 语句用于从表中选取数据。

    结果被存储在一个结果表中(称为结果集)。

    SQL SELECT 语法

    SELECT 列名称 FROM 表名称
    

    以及:

    SELECT * FROM 表名称
    

    注释:SQL 语句对大小写不敏感。SELECT 等效于 select。

    展开全文
  • MySQL 详细单表增删改查语句

    千次阅读 2020-04-28 19:59:26
    (MySQL) 增删改查语句 1.创建练习表 这里练习表没有满足三范式 第一范式(又称 1NF):保证每列的原子性 数据表中的每一列(字段),必须是不可拆分的最小单元,也就是确保每一列的原子性。满足第一范式是关系模式...

    MySQL 增删改查语句

    1.创建练习表

    • 这里练习表没有满足三范式

    第一范式(又称 1NF):保证每列的原子性
    数据表中的每一列(字段),必须是不可拆分的最小单元,也就是确保每一列的原子性。满足第一范式是关系模式规范化的最低要求,否则,将有很多基本操作在这样的关系模式中实现不了。
    第二范式(又称 2NF):保证一张表只描述一件事情
    满足1NF后要求表中的所有列,每一行的数据只能与其中一列相关,即一行数据只做一件事。只要数据列中出现数据重复,就要把表拆分开来。
    第三范式(又称 3NF):保证每列都和主键直接相关
    满足2NF后,要求:表中的每一列都要与主键直接相关,而不是间接相关(表中的每一列只能依赖于主键)。
    数据不能存在传递关系,即没个属性都跟主键有直接关系而不是间接关系。像:a–>b–>c 属性之间含有这样的关系,是不符合第三范式的。

    • 五大约束

    数据库中的五大约束包括:

    1.主键约束(Primay Key Coustraint) 唯一性,非空性;

    2.唯一约束 (Unique Counstraint)唯一性,可以空,但只能有一个;

    3.默认约束 (Default Counstraint) 该数据的默认值;

    4.外键约束 (Foreign Key Counstraint) 需要建立两表间的关系;

    5.非空约束(Not Null Counstraint):设置非空约束,该字段不能为空。

    五大约束的语法示例:

    1. 添加主键约束
      Alter table 表名 add Constraint 主键名 primary key(字段)

    2. 添加唯一约束
      Alter table 表名 add Constraint 约束名 unique(字段)

    3. 添加默认约束
      Alter table 表名 add Constraint 约束名 default(默认内容) for 字段名

    4. 添加检查约束
      Alter table 表名 add Constraint 约束名 check (字段表达)

    5. 添加外键约束
      Alter table 表名 add Constraint 约束名 foreign key(字段) references 表名(字段名)

    1.1用户表(user)

    CREATE TABLE `user`(
    	`id` INT AUTO_INCREMENT PRIMARY KEY COMMENT '用户id(主键)',
    	`username` VARCHAR(50) COMMENT '用户姓名', 
    	`age` CHAR(3) COMMENT '用户年龄'
    );
    
    • 插入数据
    INSERT INTO USER VALUES(2,'小二',12);
    INSERT INTO USER VALUES(3,'张三',33);
    INSERT INTO USER VALUES(4,'李四',24);
    INSERT INTO USER VALUES(5,'王五',17);
    INSERT INTO USER VALUES(6,'赵六',36);
    INSERT INTO USER VALUES(7,'七七',18);
    
    • 完成后
      表名 user
      表数据:
      在这里插入图片描述

    1.2学生表

    CREATE TABLE `students`(
    	`id` INT AUTO_INCREMENT PRIMARY KEY COMMENT '学生id(主键)',
    	`name` VARCHAR(10) COMMENT '学生姓名', 
    	`grade` VARCHAR(10) COMMENT '学生年级',
    	`chinese` INT COMMENT '语文成绩',
    	`math` INT COMMENT '数学成绩',
    	`english` INT COMMENT '英语成绩'
    );
    
    • 插入数据
    INSERT INTO students VALUES(1,'迪丽热巴','二年级',100,100,100);
    INSERT INTO students VALUES(2,'古力娜扎','一年级',99,88,98);
    INSERT INTO students VALUES(3,'马尔扎哈','三年级',46,20,99);
    INSERT INTO students VALUES(4,'阿里巴巴','一年级',78,81,100);
    INSERT INTO students VALUES(5,'哈哈哈哈','六年级',20,10,5);
    INSERT INTO students VALUES(6,'作者本人','二年级',100,100,100);
    INSERT INTO students VALUES(7,'嘻嘻哈哈','五年级',70,99,60);
    INSERT INTO students VALUES(8,'哭哭啼啼','四年级',33,15,54);
    
    

    列名或者表名和 MySQL 关键字冲突可以使用 ` 符号,键盘esc 下面,1 左边,Tab 上面;
    注意 ==> 如果成绩类型是 varcher ,那使用排序将会显示不正确。

    • 完成后
      表名 students
      表数据:
      在这里插入图片描述

    2.查询

    2.1查询全部(这里使用user用户表)

    • Select * from 表名;
    SELECT * FROM USER;
    

    2.2查询已经成年的用户(使用where条件查询)

    • 条件中比较运算符:( 等于: = 大于: > 大于等于: >= 小于: < 小于等于: <= 不等于: != 或 <> )
    • Select * from 表名 where 条件;
    SELECT * FROM USER WHERE age >= 18;
    

    在这里插入图片描述

    2.3查询未成年用户的名字

    • SELECT 字段名 FROM 表名 WHERE 条件;
    SELECT username FROM USER WHERE age < 18;
    

    在这里插入图片描述

    2.4使用别名查询

    • 使用as关键字(as可以省略)
    SELECT u.* FROM USER AS u;
    

    在这里插入图片描述

    2.5使用逻辑运算符查询

    • 逻辑运算符( 并且:and 或 && 或:or 非:not 或 ! )
    • 查询名字为小二又年龄是12岁的(显示名字和年龄)
    SELECT u.`username`,u.`age` FROM USER u WHERE u.`username`='小二' && u.`age`=12;
    

    在这里插入图片描述

    • 查询名字为张三又是未成年的(查询结果空,没有这个人)
    SELECT * FROM USER WHERE username='张三' && age < 18;
    

    在这里插入图片描述

    2.6使用运算符查询(这里开始使用students学生表)

    在这里插入图片描述

    • 查询 哈哈哈哈 的三科总分
      运算符优先级:
      1.乘法和除法的优先级高于加法和减法
      2.同级运算的顺序是从左到右
      3.表达式中使用"括号"可强行改变优先级的运算顺序
      select 列1[ ±*/ ]列2 from 表名 where 条件;
    SELECT s.chinese + s.math + s.english FROM students s WHERE s.name = '哈哈哈哈';
    

    在这里插入图片描述

    2.7范围查询(between 条件1 and 条件2)

    (良 60-70,中70-80,优80-90,优秀90-100)

    • 查询语文成绩是 良到中 的同学名字

    • where 字段(列名) between 条件1 and 条件2;
    SELECT NAME FROM students WHERE chinese BETWEEN 60 AND 80;
    

    在这里插入图片描述

    • 查询数学成绩不合格的同学名字

    • where 字段(列名)not between 条件1 and 条件2;
    SELECT NAME FROM students WHERE math NOT BETWEEN 60 AND 100;
    

    在这里插入图片描述

    • 查询英语成绩优秀的同学id和名字;

    • where !( 字段名 between 条件1 and 条件2);
    SELECT s.`id`,s.`name` FROM students s WHERE  !(s.`english` BETWEEN 0 AND 90);
    

    在这里插入图片描述

    2.8集合查询

    • 查询一年级和二年级的学生信息
      where 列名 in (值1,值2,值3);
    SELECT * FROM students WHERE grade IN ('一年级','二年级');
    

    在这里插入图片描述

    *查询一年级,二年级,三年级以外的学生信息
    where 列名 not in (值1,值2,值3);

    SELECT * FROM students WHERE grade NOT IN ('一年级','二年级','三年级');
    

    在这里插入图片描述

    2.9 NULL值查询

    • 注意:列中值为null不能使用=去查询
    • 查询名字为 null 的学生数据(没有存储有,所以啥也没有)
      where 列名 is null;
    SELECT * FROM students WHERE `name` IS NULL;
    

    在这里插入图片描述

    2.10模糊查询( like )

    % 表示0个到n个字符
    where 列名 like '%巴'; 		-- 表示以 巴 结尾的;
    where 列名 like '巴%'; 		-- 表示以 巴 开头的;
    where 列名 like '%巴巴%' 	-- 表示数据里面包含 巴巴 的;
    
    • 查询名字以 巴 结尾的学生;
    SELECT * FROM students WHERE `name` LIKE '%巴';
    

    在这里插入图片描述

    • 查询名字以 作者 开头的学生;
    SELECT * FROM students WHERE `name` LIKE '作者%';
    

    在这里插入图片描述

    • 查询名字里面包含 嘻哈 的学生;
    SELECT * FROM students WHERE `name` LIKE '%嘻哈%';
    

    在这里插入图片描述

    _ 表示一个字符,可以多次使用
    • 查询名字里面倒数第二个字有 哈 的学生
      where 列名 like ‘哈_’;
    SELECT * FROM students WHERE `name` LIKE '%哈_';
    

    在这里插入图片描述

    2.11结果排序

    • 对结果经行排序(对查询出的结果按照一列或多列进行升序或者倒序排序,升序式 ASC ,倒序式 DESC,默认升序)。
    • 注意不能使用中文或者中问别名排序。
      where 条件 order by 列名 [ ASC / DESC ];
    • 查询一年级,二年级,三年级学生数据,以 语文成绩排序,降序。
    SELECT * FROM students WHERE grade IN ('一年级','二年级','三年级') ORDER BY chinese DESC;
    

    在这里插入图片描述

    2.12分页查询

    • 分页查询( beginIndex 表示从第几条数据开始(也可以说是跳过前面多少页),第一页从0开始。pageSize 表示每页显示多少条数据);
      select * from 表名 where 条件 limit beginIndex , pageSize;

    • 分页算法公式 (当前页 - 1)* pageSize;

    • 比如说每页 10页 分页。
      第一页 limit 0,10; // 显示 0-10;跳过前面0条数据
      第二页 limit 10,10; // 显示 11-20;跳过前面10条数据
      第三页 limit 20,10; // 显示 21-30;跳过前面20条数据

    • 注意当我们使用 select * from students;(最后底层执行语句分页了 limit 0,1000 )
      在这里插入图片描述

    • 查询全部学生,每页三条数据
      第一页

    SELECT * FROM students LIMIT 0,3;
    

    在这里插入图片描述
    第二页

    SELECT * FROM students LIMIT 3,3;
    

    在这里插入图片描述
    第三页

    SELECT * FROM students LIMIT 6,3;
    

    在这里插入图片描述

    2.13聚合函数

    作用于一组数据,对那组返回一个值

    • count :统计结果记录多少条数,
    • max: 统计最大值
    • min: 统计最小值
    • sum: 计算求和
    • avg: 计算平均值
    注意,分组函数 group by。如果要对 分组后 的数据进行筛选,那么必须使用 having 关键字,条件写在 having 后面;
    • where:先过滤已有的数据,在分组,在聚合函数计算;
    • having:过滤分组之后的数据。

    插入我们需要练习的表

    • city 表
    CREATE TABLE `city` (
    	`id` INT AUTO_INCREMENT PRIMARY KEY COMMENT '主键',
    	`city_name` VARCHAR(100) COMMENT '城市名',
    	`city_year` VARCHAR(4) COMMENT '年份,yyyy',
    	`city_gdp` DOUBLE COMMENT '当前年份,城市一整年的GDP,单位亿元',
    	`city_population` DOUBLE COMMENT '当前年丰,城市的总人口,单位万人'
    );
    
    • 添加数据
    INSERT INTO city VALUES(1,'上海',2018,32679,2418);
    INSERT INTO city VALUES(2,'北京',2018,30320,2171);
    INSERT INTO city VALUES(3,'深圳',2018,24691,1253);
    INSERT INTO city VALUES(4,'广州',2018,23000,1450);
    INSERT INTO city VALUES(5,'重庆',2018,20363,3372);
    INSERT INTO city VALUES(6,'上海',2019,38155,2424);
    INSERT INTO city VALUES(7,'北京',2019,35371,2171);
    INSERT INTO city VALUES(8,'深圳',2019,26927,1302);
    INSERT INTO city VALUES(9,'广州',2019,23628,1491);
    INSERT INTO city VALUES(10,'重庆',2019,23605,3372);
    
    • COUNT
      查询计算2019年一共有多少个城市录入数据(答案 5个)
    SELECT COUNT(*) FROM city WHERE city_year = '2019';
    

    在这里插入图片描述

    • MAX
      查询 2018年里 GDP 最高是多少;
    SELECT MAX(city_gdp) FROM city WHERE city_year = '2018';
    

    在这里插入图片描述

    • MIN
      查询 2018年里 GDP 最低是多少;
    SELECT MIN(city_gdp) FROM city WHERE city_year = '2018';
    

    在这里插入图片描述

    • SUM
      查询2019年里所有城市 GDP 总和;
    SELECT SUM(city_gdp) FROM city WHERE city_year = '2019';
    

    在这里插入图片描述

    • AVG
      查询2019年所有城市 GDP 平均值;
    SELECT AVG(city_gdp) FROM city WHERE city_year = '2019';
    

    在这里插入图片描述

    3.增加

    insert into 表名(字段1,字段2,字段3,…)values(值1,值2,值3,…);

    • 添加学生鸡鸡鸡鸡
    INSERT INTO students(id,NAME,grade,chinese,math,english) 
    VALUES( 9,'鸡鸡鸡鸡','七年级',77,77,77);
    

    在这里插入图片描述

    • 其它插入方式
    INSERT INTO 表名(字段1,字段2,字段3) VALUES (1,2,3),(1,2,3); -- 插入多条数据
    INSERT INTO 表名 VALUES(1,2); -- 针对表全字段进行插入操作
    INSERT INTO 表名(字段) SELECT 字段 FROM2;  -- 查询结果插入
    INSERT INTO 表名 SELECT 字段 FROM2;  -- 查询结果,全表插入
    

    4.更新

    update 表名 set 字段=where 条件; -- 带条件的去修改指定数据,否则修改全表;
    
    • 修改学生 ‘哈哈哈哈’ 的英语成绩为 10;
    UPDATE students SET english = 10 WHERE `name` = '哈哈哈哈';
    

    在这里插入图片描述

    5.删除

    delete from 表名 where 条件; -- 删除数据带条件删除,否则删除全表的数据
    
    • 删除学生 ‘鸡鸡鸡鸡’ ;
    DELETE FROM students WHERE `name` = '鸡鸡鸡鸡';
    

    在这里插入图片描述
    在这里插入图片描述

    6.语句执行顺序

    • from -> on -> join -> where -> group by -> having -> select -> distinct -> order by -> limit

    MySQL其它文章,请看下面链接

    MySQL DDL 语句
    MySQL CRUD 语句
    MySQL 聚合函数
    MySQL 多表查询

    END…
    展开全文
  • sql语句增删改查存储过程,数据库开发)大全
  • 存储过程增删改查

    2016-12-07 13:54:03
    存储过程查询 建过程 1.建个游标 CREATE OR REPLACE PACKAGE MYPACKAGE AS TYPE MY_CURSOR IS REF CURSOR; end MYPACKAGE; 2.建过程 create or replace PROCEDURE pro_3(p_CURSOR OUT MYPACKAGE....
  • MySQL(4) 数据库增删改查SQL语句(整理集合大全)

    万次阅读 多人点赞 2018-09-19 19:07:43
    全外连接:返回涉及的多表中的所有数据,MYSQL中不支持该查询,仅限了解自连接:单表当作多表查询,直白的讲就是一张表中数据含有多种关系,使用多表查询的语法,来查询一张表,查询过程中一定要使用别名 ...
  • SQL语句增删改查

    2015-01-30 19:43:14
    SQL SERVER语句-存储过程自动实现增删改查-想看的可以看
  • //设置类型为存储过程 cmd.CommandType = CommandType.StoredProcedure; if (plist != null && plist.Count != 0) { cmd.Parameters.AddRange(plist.ToArray()); } SqlDataAdapter sda = new SqlDataAdapter...
  • 存储过程之七—存储过程增删改查

    千次阅读 2017-10-11 10:51:46
    对于以下存储过程,表结构如下: -- ---------------------------- -- Table structure for person -- ---------------------------- DROP TABLE IF EXISTS `person`; CREATE TABLE `person` ( `id` int(11) NOT ...
  • 什么是MySQL? 它是一种关系型数据库管理系统,把数据保存在不同的表中,它的灵活性强,速度快。他有两种模式,分为商业版和社区版,我们一般都多数使用的是社区版。...1、存储大量的数据,方便检索跟访问。2、保...
  • 表被删除后,表中所存储的数据将全部丢弃 3. 用insert语句可以向表中插入一条新记录 insert into student values(1, 'Zhang', 'M', 18); 4. 用update语句可以可以修改表中的记录 update ...
  • --当你想查询的数据比较大比较多时,建议使用临时表存储起来,而不是直接查询出来,你可以使用复制数据 create table tmp_bkolt tablespace indx_sub as //复制数据 select /*+ parallel(a,4)(b,4)*/vw.region_...
  • 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
  • 目录1. sql创建数据库,创建表,维护列 2. sql基本的增删改查3. 索引4. 视图5. 存储过程6. 触发器PART1sql创建数据库,创建表SQ...
  • mysql数据库的增删改查有以下的几种的情况,1、DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER SHOW2、DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据...
  • 由于本篇文章主要是讲增删改查语句的执行过程,因此,关于存储引擎的其他细节,比如事务的支持,以及索引等相关内容,在此就不再展开,这些内容将会在后续的文章中陆续更新。 至此,我们已经大致梳理了MySQL的基础...
  • Sql 语句 增删改查 存储过程 触发器

    千次阅读 2017-04-17 13:48:10
    发现一个很好的关于SQL语句方面的文章,转过来给大家也看一下 传送门 http://www.cnblogs.com/yank/p/3758107.html
  • c API 调用mysql存储过程完成增删改查

    热门讨论 2011-03-21 10:48:20
    这是一个c api完成调用mysql 存储过程完成数据库库的增删改查四个基本操作的东东
  • 在没有使用SQLite这种轻量级的数据库之前,只使用过Sqlserver2008进行数据的增删改查,公司使用的是大型的ORACLE数据库,还没有真正的会使用它。那时候觉得数据库很庞大,然而遇到SQLite以后,发现有这么个迷你的小...
  • MySQL数据库增删改查SQL语句

    千次阅读 2021-02-11 18:26:47
    outer关键字可被省略 全外连接:返回涉及的多表中的所有数据,MYSQL中不支持该查询,仅限了解自连接:单表当作多表查询,直白的讲就是一张表中数据含有多种关系,使用多表查询的语法,来查询一张表,查询过程中一定...
  • SQL命令集合,这些命令用来完成对数据库的指定操作:存储过程可以接收用户的输入参数、向客户端返回表格或标量结果和消息、调用数据定义语言(DDL)和数据操作语言(DML)语句,然后返回出参数。二、存储的意义(1)...
  • Oracle存储过程-增删改查与调用

    千次阅读 2017-03-01 11:58:28
    存储过程存储过程是 SQL, PL/SQL, Java 语句的组合, 它使你能将执行商业规则的代码从你...下面通过例子让你了解存储过程对数据的增删查改(对oracle中的emp操作) 一、Oracle存储过程语法: Create [or r
  • hql语句基础的增删改查
  • Hiveql增删改查常用语句

    千次阅读 2018-06-13 16:35:35
    设置列分隔符,默认为^A,常为\t collection items terminated by 设置元素间分隔符,默认为^B map keys terminated by 设置键值间分隔符,默认为^C lines terminated by 设置文本中行...
  • sqlite语句增删改查
  • 存储过程执行增删改查sql   下边是一个简单的数据库表,为了方便,我都定义成了varchar 类型。 1、存储过程执行增加sql   首先写一个增加的存储过程: create or replace procedure test_add_procedure ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 75,891
精华内容 30,356
关键字:

存储过程的增删改查语句