mysql数据库基本语句的使用(1)

  • 查看所有数据库
    SHOW DATABASES;
    在这里插入图片描述

  • 查看数据库中所有表(使用此命令时,要先切换到指定数据库)
    SHOW TABLES;
    在这里插入图片描述

  • 查看表中所有的列及对应列的属性
    SHOW COLUMNS FROM Table_Name;
    SHOW COLUMNS FROM Register; 查看Register表中所有列。
    在这里插入图片描述

  • 创建数据库
    CREATE DATABASE BASE_NAME;
    CREATE DATABASE Test_Register; 创建一个名为Test_Register的数据库。
    在这里插入图片描述

  • 删除数据库
    DROP DATABASE BASE_NAME;
    DROP DATABASE Test_Register; 删除名为Test_Register的数据库。
    在这里插入图片描述

  • 选择数据库
    USE BASE_NAME;
    USE Test; 切换到Test_Register库。
    在这里插入图片描述

  • 创建表
    CREATE TABLE table_name (column_name column_type);
    创建Register表,包含id、name、phone_number、date列, id为主键,自增。
    CREATE TABLE IF NOT EXISTS Register(id INT NOT NULL AUTO_INCREMENT,
    -> name VARCHAR(100) NOT NULL,
    -> phone_number VARCHAR(100) NOT NULL,
    -> date DATE,
    -> PRIMARY KEY (id)
    -> )ENGINE=InnoDB DEFAULT CHARSET=utf8;
    在这里插入图片描述
    1.IF NOT EXISTS, 如果库里不存在此表,则创建;
    2.如果字段不可为空,可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错;
    3.AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1;
    4.PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
    5.ENGINE 设置存储引擎,CHARSET 设置编码;
    6.上面sql语句中->为换行符,不代表语句结束;
    7.分号 ; 代表语句结束。

  • 删除表
    DROP TABLE Table_Name;
    DROP TABLE Register; 删除Register表。
    在这里插入图片描述

  • 插入数据
    INSERT INTO table_name ( field1, field2,…fieldN )
    VALUES
    ( value1, value2,…valueN );

向Register中插入一条数据, id自动创建, date可以为空,所以只插入name, phone_number两列就可以,语句如下:
INSERT INTO Register (name, phone_number) VALUES (‘CX’,‘13434556545’);
在这里插入图片描述

  • 查询数据
    SELECT COLUMN1, COLUMN2 FROM TABLE_NAME [WHERE CLAUSE] [LIMIT N] [ORDER BY COLUMN1 DESE/ASC]
    []中的内容均为可选内容,查询时可不写。
    1.WHERE 后跟查询条件;
    2.LIMIT 则限制返回数量;
    3.ORDER BY 按指定列排序, DESE为降序,ASC为升序。

查询语句中,COLUMN1, COLUMN2可写为*,代表查询所有列。
select * from Register; 查询Register中所有列。
在这里插入图片描述
查询name为CX的数据:
select * from Register where name = ‘CX’;
在这里插入图片描述
查询表中所有的数据,但只返回两行:
select * from Register limit 2;
在这里插入图片描述
查询表中所有数据,并按照name降序排列:
select * from Register order by name desc;
在这里插入图片描述
查询name列:
select name from Register;
在这里插入图片描述

  • 查询语句中,where后的子语句
    WHERE condition1 [AND]/[OR] condition2

condition1 和condition2 是两个条件,之间用and或者or连接,一个表示并且,一个表示或者。
举两个简单的例子。
查询id为2且name为zs的数据:
select * from Register id = 2 and name = ‘zs’;
在这里插入图片描述
查询id为2或者name为ls的数据:
select * from Register id = 2 or name = ‘ls’;
在这里插入图片描述
在where子语句的条件中,不止有等于的操作符,还有很多其他的操作符,用来实现多种查询:
等号 =,检测两个值是否相等,如果相等返回true。
不等于 <>, !=,检测两个值是否相等,如果不相等返回true。
大于号 >,检测左边的值是否大于右边的值, 如果左边的值大于右边的值返回true。
小于号 <,检测左边的值是否小于右边的值, 如果左边的值小于右边的值返回true。
大于等于号 >=,检测左边的值是否大于或等于右边的值, 如果左边的值大于或等于右边的值返回true。
小于等于号 <=,检测左边的值是否小于或等于右边的值, 如果左边的值小于或等于右边的值返回true。

另外,在where查询语句中,可以使用BINARY关键字,进行大小写区分。mysql中,默认是不区分大小写的。
比如,下面这两条语句,查出的结果是一样的:
select * from Register where name = ‘ZS’;
select * from Register where name = ‘zs’;
在这里插入图片描述

而这两个语句,则当name值为ZS时,因为区分大小写,是查不到数据的:
select * from Register where binary name = ‘ZS’;
select * from Register where binary name = ‘zs’;
在这里插入图片描述

  • 更新数据
    UPDATE table_name SET field1=new-value1, field2=new-value2
    [WHERE Clause]
    where后的查询条件,与查询语句一致,即只更新满足条件的数据,如果没有where语句,则会更新所有。

向Register表中,更新date列为当前时间,没有设置where条件,更新date列中所有数据:
update Register set date = (select current_timestamp);
(select current_timestamp) 是查询当前时间。
在这里插入图片描述
更新id为2的date值:
update Register set date = ‘2021-08-27’ where id = 2;
在这里插入图片描述

  • 删除数据
    DELETE FROM table_name [WHERE Clause]
    where后的查询条件,与查询语句一致,即只删除满足条件的数据,如果没有where语句,则会删除所有。

删除name为ls的数据:
delete from Register where name = ‘ls’;
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值