目录
数据库
概念:
-
长期存放在计算机内,有组织、可共享的大量数据的集合,是一个数据“仓库”
作用:
-
保存、管理数据
MySQL
概念:
-
是现流行的开源、免费的关系型数据库
特点:
-
免费、开源数据库
-
小巧、功能齐全
-
使用便捷
-
可运行于Windows或Linux操作系统
-
可适用于中小型甚至大型网站应用
MySQL语言分类
-
DDL(data defination language)数据库定义语言,主要是建表、删除表、修改表字段等操作
-
DML(data manipulation language)数据操作语言,主要是数据库增删改三种操作
-
DQL(data query language)数据查询语言 select操作
-
DCL(data control language)数据库控制语言,如commit,revoke之类的,在默认状态下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权力执行DCL
数据类型
创建和删除数据库
create DATABASE root;#创建数据库 drop database root; #删除数据库 show databases; #查看数据库
创建表
create table 表名( 字段名 类型名, ... ... )
插入数据
-- 格式:insert into 表名(filed1,filed2,filed3) values(v1,v2,v3);#指定插入值 -- 注意:表名()中的列数要和values列数对应 -- 格式:insert into 表名(filed1,filed2,filed3) values(v1,v2,v3);#指定插入值 -- 注意:表名()中的列数要和values列数对应
主键
主键(Primary Key):唯一标识,表示一条记录,不能有重复,不允许为空。
create table user( userId int primary key auto_increment,-- 指定当前字段为主键,并且设置为自动增加(插入的时候不需要插入该字段) username varchar(20) not null, -- 用户名 表插入的时候,not null修饰的字段值不能为空 password varchar(100) not null,-- 密码 email varchar(30) default "123456@qq.com", -- 邮箱 loginTime datetime,-- 最后登录时间(可以直接用符合格式的字符串) phone varchar(20) -- 手机号码 )
删除表
detele from 表名 #只删除表中所有数据,表还在 drop table 表名 #删除整个表结构,表不在了
修改表
-- 1.修改表名 alter table student3 rename as student; -- 2.添加字段(列) alter table student add email varchar(20);-- 给student表新增email字段 -- 3.修改字段 -- 3.1 修改字段的类型 -- 前提:1.所有的列没有值 2.当前的列值和修改后类型相匹配 alter table student modify email int; -- 3.2修改字段名称 alter table student change email address varchar(50); -- 3.3 删除某个字段 alter table student drop address2;
查询
-- 查询数据 -- select 字段名1,字段名2,...,字段名n from 表名 select userId,username,password,email from user; -- * 通配符,表示所有字段 select * from user;
修改
-- 修改数据 -- update 表名 set filed1=v1 [,filed2=v2… ] [where子句 ] update user set phone="123456" where userId=1;-- 只修改userId值为1的列
删除
-- 删除操作 delete from user where userId=10002; TRUNCATE table user ;-- 不可以和where字句搭配使用,只能删除所有数据,会重置主键的值从头开始
where条件子句
-- where条件子句:有条件筛选符合要求的数据 一般配合select update delete使用 select * from user where userId=2;-- 等于 select * from user where username<>"tom";-- 不等于 != select * from user where userId BETWEEN 2 AND 3; -- -- 常用 等价于>=&&<= select * from user where userId>=2&&userId<=3; select * from user where userId>=4 and userId<=3;-- 常用 select * from user where userId>4 or userId<=3;-- 常用 select * from user where userId>4 || userId<=3;
as子句
-- 1.给字段起别名 select userId as 用户编号,username as 用户名 ,password as 密码,email as 邮箱 from user; -- 2.给表名起别名:方便获取不同表中的字段 select u1.userId,u1.username,u2.password from user u1,user2 u2;
Distinct去重
select DISTINCT username,password from user;-- username和password至少有两条字段一样的才能去重 select DISTINCT username from user;-- 只去重username相同
逻辑操作符和比较操作符
Q&A
题1 MySql有哪些语言分类
DDL(数据库定义语言)、DML(数据库操作语言)、DQL(数据库查询语言)、DCL(数据库控制语言)
题2 mysql创建表语句格式
create table 表名( 字段名 类型名, ... ... )
题3 如何给字段设置主键及自增
create table user( userId int primary key auto_increment,-- 指定当前字段为主键,并且设置为自动增加(插入的时候不需要插入该字段) )
题4 删除和修改表的语句格式
删除表 detele from 表名 #只删除表中所有数据,表还在 drop table 表名 #删除整个表结构,表不在了 修改表 -- 1.修改表名 alter table student3 rename as student; -- 2.添加字段(列) alter table student add email varchar(20);-- 给student表新增email字段 -- 3.修改字段 -- 3.1 修改字段的类型 -- 前提:1.所有的列没有值 2.当前的列值和修改后类型相匹配 alter table student modify email int; -- 3.2修改字段名称 alter table student change email address varchar(50); -- 3.3 删除某个字段 alter table student drop address2;
题5 distinct去重如何使用
select DISTINCT username,password from user;-- username和password至少有两条字段一样的才能去重 select DISTINCT username from user;-- 只去重username相同
题6 常见的比较操作符及含义
操作符 | 描述 |
---|---|
IS NULL | 若操作符为NULL,则结果为真 |
IS NOT NULL | 若操作符不为NULL,则结果为真 |
BETWEEN | 若a范围在b与c之间则结果为真 |
LIKE | SQL模式匹配,若a匹配b,则结果为真 |
IN | 若a等于a1,a2.中的某一个,则结果为真 |