专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

mysql 查询空值,如何学习SQL语言_数据库

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/5 21:29:32       共计:3586 浏览
mysql 查询空值,如何学习SQL语言?

一、数据库连接1、通过命令行连接数据库

[root@localhost ~]# mysql -u root -p

Enter password:

输入以上命令,回车后输入密码,回车,出现 mysql> 命令提示窗口则表示登录成功,可以在mysql>下输入任何sql语句。

2、退出mysql

mysql> exit

Bye

二、创建数据库

语法:CREATE DATABASE <数据库名>;

先连接mysql服务后,再使用sql语句。可以通过命令连接也可以通过客户端工具例如navicat连接,以下创建一个库名为lemon的数据库

mysql> create DATABASE lemon;

三、显示数据库

语法:show databases;

示例:查看mysql服务所有数据库

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| future|

| lemon|

| mysql

| test|

| test_mysql|

+--------------------+

四、删除数据库

语法:drop database <数据库名>;

drop删除数据库命令谨慎使用,一旦删除,所有数据都没有了。以下示例:删除一个库名为test的数据库。

mysql> drop DATABASE test;

五、选择数据库

语法:use <数据库名>;

示例:选取数据库lemon进行操作。

mysql> use lemon;

Database changed

六、创建表

语法:create table <表名> ( <字段名1> <类型1>,<字段名2> <类型2>, ...,<字段名n> <类型n>);

示例:需要创建一个学员信息表,用于存储学号、姓名、性别、班级、年龄。

create table student(

sno int(8) not null primary key auto_increment comment '学号',

sname varchar(20) NOT NULL comment '姓名',

ssex varchar(4) NOT NULL comment '性别',

sclass int(8) NOT NULL comment '班级',

sage int(4) NOT NULL comment '年龄'

)DEFAULT CHARSET=utf8;

解析:

int为整型,这里学号sno、班级编号sclass设定为整型;

varchar字符型,这里姓名sname、性别ssex、年龄sage设定为字符型;

字段属性设定为not null,表示字段值不允许空;

primary key关键字用于定义列为主键。主键唯一、不重复,一般以编号为主键;

auto_increment定义列属性为自增,一般用于主键,插入数据时数值会自动加1;

comment相当于给列添加备注;

DEFAULT CHARSET 设置编码,utf8对传值中文防止乱码。

七、显示数据表

mysql> show tables;

+----------------+

| Tables_in_test |

+----------------+

| student |

| student1 |

+----------------+

八、查看表结构

九、删除表

语法:drop table <表名>;

drop删除表请谨慎操作,因为执行删除命令后该表及包含的数据都会消失。以下示例:删除一个表名为student的数据表。

mysql> drop table student;

十、插入表数据

语法:insert into <表名> ( 字段名1,字段名2,...字段名N)

values

( 值1, 值2,...值N );

示例:

1、往学员信息表中插入一条学员信息

insert into student (sno,sname,ssex,sclass,sage) values (6301,'柠檬','女',20190163,18);

注意:如果数据值为字符型必须用单引号或者双引号括起来。

2、批量插入,插入多条学员信息

insert into student (sname,ssex,sclass,sage)

values

('毛毛','女',20190163,20),('大大','女',20190163,22);

十一、修改表数据

语法:update 表名 set 字段名1= 新值1,字段名2=新值2, … where 条件表达式1 and(or) 条件表达式2 …;

示例:修改学员姓名为毛毛的性别为男

update student set ssex = '男' where sname = '毛毛';

十二、查询单表数据

语法:select 字段名1,字段名2,… from <表名> where 条件表达式1 and(or) 条件表达式2 … ;

1、查询所有字段列信息

示例:查询student表中,性别女且年龄在20岁以上的学员信息

select * from student where ssex = '女' and sage > 20;

2、查询指定字段列信息

示例:查询student表中,性别女或者年龄在20岁以上的学员姓名

select sname from student where ssex = '女' or sage > 20;

3、查询前几行信息

示例:查询student表中,性别女且年龄在20岁以上的前2行学员信息

select sname from student where ssex = '女' or sage > 20 limit 0,2;

十三、查询多表关联数据

语法:

1、关联查询:select 字段名1,… from 表名1,表名2,…where 关联条件表达式 and 过滤条件表达式 …;

2、等值连接:select 字段名1,… from 表名1 inner join 表名2 on 关联条件表达式 and 过滤条件表达式… ;

3、左连接:select 字段名1,… from 表名1 left join 表名2 on 关联条件表达式 and 过滤条件表达式… ;

4、右连接:select 字段名1,… from 表名1 right join 表名2 on 关联条件表达式 and 过滤条件表达式… ;

示例:

1、以上左表user表,右表为左表的对象信息user_lover表,查询两表中存在对象关系的信息

SELECT * FROM `user`, user_lover WHERE `user`.id = user_lover.u_id;

SELECT * FROM `user`INNER JOIN user_lover on `user`.id = user_lover.u_id;

运行结果:

2、读取左表全部数据,即使右表没有关联数据

SELECT * FROM `user`LEFT JOIN user_lover on `user`.id = user_lover.u_id;

运行结果:

3、以右表为基础,与LEFT JOIN相反

SELECT * FROM `user` RIGHT JOIN user_lover on `user`.id = user_lover.u_id;

运行结果:

十四、删除表数据

语法:delete from 表名 where 条件1 and(or) 条件2……;

示例:删除student表中年龄小于18岁的用户信息

delete from student where sage < 18;

十五、mysql学习教程mysql官网:https://dev.mysql.com/doc/

http://runoob.com:https://www.runoob.com/mysql/

w3cschool:https://www.w3cschool.cn/mysql/

希望本文对你有用

看完文章的朋友不要走,有问题可以给我留言,或者需要相关学习视频也可以留言哦~

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:查询同名mysql语言,如何将图片储存在MySQL数据库里_数据库 | ·下一条:mysql查询内容截取,mysql里时间类型为timestamp怎么将它截取只显示年月日_数据库

Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有