15个MySQL常用基本SQL语句
在学习SQL语句之前,首先需要区分几个概念,我们常说的数据库是指数据库软件,例如MySQL、Oracle、SQL Server等,而本文提到的数据库是指数据库软件中的一个个用于存储数据的容器。
在MySQL中,数据库称为database,数据表称为table,一个数据库软件中有多个数据库(databases),每个数据库中又可以有多个数据表(tables),最终,数据是存储在数据表中。
数据库和数据表之间的关系可以用下面这个图来表示,对于一个数据库来说,有多个数据表。
在正式开始写SQL语句之前,需要说明两点。
- SQL语句不区分大小写。
- 每条SQL语句以分号(;)结尾(英文输入法下的分号)。
这里通过MySQL Workbench来写SQL代码,在Workbench中,执行一条SQL语句的方式有两种。
- 一种是通过上方快捷菜单中的按钮。
- 另一种是通过快捷键Ctrl+Enter。
了解了这之后,接下来介绍一些常见的命令,分两部分:数据库常用命令和数据表常用命令。
1、查看有哪些数据库
2、创建数据库
创建一个名为Testdb的数据库。
3、创建数据库并指定编码格式
有些时候,为了防止中文乱码,创建数据库的时候需要指定编码格式。
4、使用某个数据库
使用mydb这个数据库,或者进入mydb这个数据库。
5、删除数据库
删除Testdb这个数据库。
1、查看有哪些数据表
进入某个数据库之后,想查看有哪些数据表,SQL语句为:
mydb是一个新建的数据库,所以自然是没有数据表。
2、创建数据表
建表SQL语句格式为:
说明:每个字段以逗号分隔,最后一个字段不加逗号。
例如,给定一个学员信息表,如下表所示。
根据以上表格,建表SQL语句如下。
以上语句中,primary key表示主键,意思是这个字段作为记录的唯一标识,就像每个人的身份证号,都是唯一确定的。
3、查看表结构
查看表结构的SQL命令为:
执行该命令会显示表stuinfo的基本结构,例如有哪些字段,每个字段是什么类型,谁是主键等。
4、修改数据表
修改数据表通过drop子句进行,比如,建完表后,想增加一个字段,SQL语句的格式为:
想在指定位置增加一个字段,例如,在某个字段后增加一个字段,SQL语句的格式为:
如果在某个字段之前增加字段,用before即可。
例如,在字段age后增加一个字段major(专业),SQL语句为:
执行这个命令,再通过describe查看表结构,会发现表中多了一个字段major。
如果要删除major这个字段,通过drop子句,SQL语句为:
5、重命名表
重命名表通过alter+rename来实现,SQL语句格式为:
这里为了不影响之前创建的表,我们创建一个新表,SQL语句如下。
以上创建一个名为stuInfoTest的表,现在想将它的名称改成stuinfotest1,SQL语句为:
6、删除数据表
删除数据表通过drop进行,SQL语句格式为:
例如,删除数据表stuinfotest1,SQL语句为:
7、插入记录
此时的表stuinfo是空的,没有数据,我们要向表中插入记录。
插入记录通过insert into进行,SQL语句格式为:
例如,向表stuinfo插入一条记录,SQL语句为:
注意:上方是一条SQL语句,为了可读性换行,记住一条SQL语句默认以分号结尾。
如果需要一次性插入多条记录,SQL语句格式为:
例如,向表stuinfo再插入两条记录,SQL语句为:
注意:如果设置了主键,插入记录的主键字段是不能重复的,也就是不能插入重复的记录。
作业:大家可以按照上述方法将上面的学员信息表中的所有记录都插入表stuinfo中。
8、查询记录
有了数据之后,就可以查询记录了,查询记录通过select子句进行。
例如,想查询表stuinfo中的所有记录,SQL语句为:
执行之后,就可以看到表stuinfo中的所有记录了。
如果想查询符合某个条件的记录,就要用到where子句了,SQL格式为:
例如,想查询stuid为20161001的记录,SQL语句为:
9、删除记录
删除记录通过delete子句进行,SQL语句格式为:
例如,想删除stuid为20161002的记录,SQL语句为:
10、修改记录
修改记录通过update子句进行,update就是更新的意思,SQL语句格式为:
例如,想将学号(stuid)为20161001的记录的姓名(stuname)更新为Jack,SQL语句为:
以上,就是MySQL中的基本SQL语句。
零基础如何学习数据分析?查看下方专栏。
经常回顾一下,mysql的常用命令有哪些?
MySQL是一种开源的关系型数据库管理系统,使用C和C++编写,支持多线程和多用户访问。MySQL被广泛应用于各种规模的网站和应用程序中,具有高可用性、高性能和易于管理的特点。
- 连接MySQL数据库服务器
其中,username是你的MySQL用户名,执行该命令后会提示输入密码。
- 显示所有数据库
- 选择要使用的数据库
其中,database_name是要使用的数据库名称。
- 显示所有表格
- 显示表格结构
其中,table_name是要显示结构的表格名称。
- 插入数据
其中,table_name是要插入数据的表格名称,column1, column2, column3, …是表格中的列名,value1, value2, value3, …是要插入的值。
- 查询数据
其中,table_name是要查询的表格名称。
- 更新数据
其中,table_name是要更新数据的表格名称,column_name是要更新的列名,new_value是要更新的新值,some_value是要更新的条件值。
- 删除数据
其中,table_name是要删除数据的表格名称,column_name是要删除数据的列名,some_value是要删除数据的条件值。
10.创建表
其中,table_name是要删除数据的表格名称,column是数据列,datatype是类型。
10.对表进行排序
其中,table_name是要排序的表格名称,column_name是要排序的列名,ASC和DESC是正序,倒序的条件值。
11.模糊查询
其中,table_name是要查询的表格名称,column_name是要查询的列名,search_keyword是要查询的词。
12.常见的连表查询
table1.column_name 和 table2.column_name,就是代表表1和表2的连接点。
12.聚合函数
从上到下,分别对应总数、累加、平均、最大、最小。
13.分组
主要含义就是以column_name为类进行分组查询。
14.创建索引
15.删除索引
15.使用limit 进行分页
MySQL 是一款广泛应用于 Web 应用程序开发的关系型数据库管理系统。它拥有成熟的技术、庞大的用户群体和广泛的应用场景,优势在于稳定性高、易于部署和管理、安全性好、可扩展性强,同时还支持多种编程语言和操作系统。
学习 MySQL 可以让你掌握一种常用的数据管理技术,具备编写高效、可靠的数据库程序的能力,有助于提高 Web 应用程序的性能和安全性,也是成为一名优秀的 Web 开发者的必备技能之一。
命令太多记不住?MySQL数据库常用命令大全
Ehre | 作者
博客园 | 来源
https://www.cnblogs.com/liangmingda/p/13548466.html
基本的SQL语句有select、insert、update、delete、create、drop、grant、revoke等,具体使用方式见表:
1
库操作
- 创建数据库:create database shujuku
- 创建带字符集的数据库:create database mydb2 CHARACTER SET=UTF8
- 创建带校验的数据库:create database mydb3 CHARACTER SET=UTF8 COLLATE utf8_general_ci
- 显示数据库:show databases
- 删除数据库:drop database shujuku
- 修改数据库编码:alter databaese shujuku character set gb2312
2
表操作
创建数据库表(创建一个表名为:employee,该表中含有id、name、sex、birthday、job字段);
create table employee(id int,name varchar(40),sex char(4),birthday date,job varchar(40),);
- 表中增加image字段:alter table employee add image blob
- 修改job值,使其长度为60(原长度为1000):alter table employee modify job varchar(60)
- 删除sex列:alter table employee drop sex;
- 表名改为user(原名为employee):rename table employee to user
- 修改表的字符集为utf_8:alter table user character set utf8
- 列name修改为 username:alter table change columm name username varchar(100)
- 删除表:drop table user
3
增删改查实例
准备表:
create table employee(id int,name varchar(40),sex varchar(4),birthday date,entry_date date,salary decimal(8,2),resume text);
插入表数据:
insert into employee(id ,name,sex,birthday,entry_date,salary,resume) values(1,\’zhangsan\’,\’male\’,\’1999-08-22\’,\’2020-08-22,\’1000\’,\’i am a developer\’);
- 指定某些列插入数据:insert into employee(id) values(6)
- 插入汉字:insert into employee(id,name) values(6,‘张三’)
4
修改表数据
- 将所有员工薪水修改为5000元:update employee set salary=5000
- 将姓名为’zs’的员工薪水修改为3000元:update employee set salary = 3000 where name=‘zhangsan’
- 将姓名为’aaa’的员工薪水修改为4000元,job改为ccc:update employee set salary = 4000,job=‘ccc’ where name=‘张三’
- 将wu的薪水在原有基础上增加1000元:update employee set salary = salary+1000 where name=‘张三’
5
删除表数据
- 删除表中名称为“zs”的记录:delete from employee where job=‘ccc’
- 删除表中所有记录:delete from employee
- 使用truncate删除表中记录:truncate table employee
6
查询表数据
- 查询表中所有学生的信息:select id,name,chinese,english,math from student
- 查询表中所有学生的姓名和对应的英语成绩:select name,english from student
- 查询姓名为wu的学生成绩:select * from student where name=‘张三’
- 查询英语成绩大于90分的同学:select * from student where english>‘90’
- 查询英语分数在 80-90之间的同学:select * from student where english>=80 and english=<90
7
常见MySQL语句命令
- 进入mysql 命令行:mysql -uroot -p
- 查看所有数据库:show databases
- 创建数据库:create database niu charset utf8
- 删除数据库:drop database niu
- 选择数据库:use databases
- 查看所有表:show tables
- 查看创建数据库的语句:show create database databasename
- 查看创建表的语句:show create table tablename
- 查看表结构:desc tablenmae
8
常见MySQL字段含义
- 自增长:auto_increment
- 非空:not null
- 默认值:default
- 唯一:unique
- 指定字符集:charset
- 主键:primary key
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。