文章目录
- 结构化查询语句SQL
- 库操作
- 表操作
- CURD操作
- 问题
结构化查询语句SQL
SQL是结构化查询语言(Structure Query Language),它是关系型数据库的通用语言。
SQL主要可以划分为以下 3 个类别:
DDL(Data Definition Languages)语句
数据定义语言,这些语句定义了不同的数据库、表、列、索引等数据库对象的定义。常用的语句关键字主要包括 create、drop、alter等。
DML(Data Manipulation Language)语句
数据操纵语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性,常用的语句关键字主要包括 insert、delete、update 和select 等。
DCL(Data Control Language)语句
数据控制语句,用于控制不同的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。主要的语句关键字包括 grant、revoke 等。
库操作
首先查看mysql服务是否工作正常(默认在3306端口)
输入密码进入MySQL
查询数据库
show databases;
创建数据库
create database TestDB;删除数据库
drop database TestDB;选择数据库
use TestDB;
表操作
查看表
show tables;
创建表
create table user(id int unsigned primary key not null auto_increment,
name varchar(50) not null,
age tinyint not null,
sex enum('M','W') not null)engine=INNODB default charset=utf8;
查看表结构
desc user;
查看建表SQL
show create table user\G
show create table user;
删除表
drop table user;
CURD操作
insert 增加
insert into user(name, age, sex) values(‘zhang san’, 20, ‘M’);
注意,这个insert是根据上面所建的表的字段进行的,为什么没写ID,因为ID是自增键。
update 修改
update user set age = age + 1;
delete 删除
delete from user where id = 1;
select 查询
select* from user;
select id,name,age,sex from user;
select id,name from user;
select id,name,age,sex from user where sex=‘M’ and age>=20 and age<=25;
select id,name,age,sex from user where sex=‘M’ and age between 20 and
25;
select id,name,age,sex from user where sex=‘W’ or age>=22;
可配合运算符达到不同查询效果去重 distinct
比如要得知表里面的user都是哪些年龄段的:
select distinct age from user;
问题
1.面试题:有自增键的表里,删除其中一条数据,再增加数据后,自增键是用以前删除的还是往后补?
实际是继续往后自增的。
2.下面两种增加方式,请问他们有什么区别?
实际上,客户端与MySQL Server需要先进行TCP三次握手,那么第一种重复insert会导致下面三个步骤做了15次,而第二种方式,下面的三步只执行力一遍。
有需要,可以学习数据库连接池,经过性能测试发现,省略大量TCP三次握手,提升的效率还是可以的。