#union :可以将查询结果集相加
#例:找出工作岗位是SALESMAN和MANAGER的员工
SELECT ename,job
FROM emp
WHERE job = 'SALESMAN' OR job = 'MANAGER';
SELECT ename,job
FROM emp
WHERE job IN ('SALESMAN','MANAGER');
SELECT ename,job FROM emp WHERE job = 'SALESMAN'
UNION
SELECT ename,job FROM emp WHERE job = 'MANAGER';
SELECT ROUND(-2.225234,2);
#limit 分页查询
#limit是mysql特有的,其他数据库中没有
#创建表
CREATE TABLE 表名(
字段名 数据类型,
字段名 数据类型,
字段名 数据类型,
……
);
mysql中字段的数据类型
INT 整数型
BIGINT 长整型
FLOAT 浮点型
CHAR 定长字符串
VARCHAR 可变长字符串(StringBuffer/StringBuilder)
DATA 日期类型(Java中的java.sql.Data类型)
BLOB 二进制大对象(图片、视频等流媒体信息)
clob 字符大对象(存储较大文本,比如4G的字符串)
#insert语句
INSERT INTO 表名(字段名,字段名,字段名……)
values(值,值,值……)
DROP TABLE IF EXISTS 表名;
#建表的时候使用default设置默认值
DROP TABLE IF EXISTS t_s;
CREATE TABLE t_s(
NO BIGINT,
NAME VARCHAR(9),
sex CHAR(1) DEFAULT 1
);
#表的复制
CREATE TABLE emp1 SELECT * FROM emp;
CREATE TABLE emp2 SELECT empno,ename FROM emp;
#将查询结果插入到一张表中
INSERT INTO dept1 SELECT * FROM dept;
#修改数据update
#语法格式
UPDATE 表名 SET 字段名=值,字段名=值……where 条件;
#删除数据
#语法格式
DELETE FROM 表名 WHERE 条件;
#删除大表 **
TRUNCATE TABLE emp;
#表被截断,不能回滚,永久丢失
#SQL:select
#DML:insert delete update
#DDL:create drop alter
#增删改查:CRUD操作
#Create(增) Retrieve(检索) Update(修改) Delete(删除)
#约束Constraint
#在创建表的时候给表的字段添加相应的约束
/*常见的约束: 非空约束(not null)
唯一约束(unique)
主键约束(primary key)约束的字段不能重复不能为null
外键约束(foreign key)
检查约束(check)
*/
#约束:保证表中数据的合法性、完整性、有效性
#username(唯一性约束)
#password(非空约束)
#unique
#字段联合起来唯一:表级约束
DROP TABLE IF EXISTS t_s;
CREATE TABLE t_s(
id INT,
usercode VARCHAR(255),
username VARCHAR(255)
UNIQUE(usercode,username)
);
#not null只有列级约束,没有表级约束
#primary key
/*
单一主键,复合主键
自然主键,业务主键
一张表只能有一个主键约束,可以多个字段联合起来添加一个主键
mysql提供主键自增 auto_increment
*/
DROP TABLE IF EXISTS t_s;
CREATE TABLE t_s(
id INT PRIMARY KEY AUTO_INCREMENT,
usercode VARCHAR(255),
username VARCHAR(255)
);
#foreign key外键约束
/*
外键字段
外键值
#例:设计数据库表,用来维护学生和班级的信息
顺序要求:
删除数据的时候,先删除子表,再删除父表
增加数据的时候,先添加父表,再添加子表
创建表的时候,先创建父表,再创建子表
删除表的时候,先删除子表,再删除父表
外键值可以为null
被引用的字段不一定为主键,但是要保证唯一,unique
*/
DROP TABLE IF EXISTS t_class;
DROP TABLE IF EXISTS t_student;
CREATE TABLE t_class( #父表
con INT,
cname VARCHAR(50),
PRIMARY KEY(cno)
);
CREATE TABLE t_student (#子表
sno INT PRIMARY KEY,
sname VARCHAR(50),
classno INT,
FOREIGN KEY(classno) REFERENCES t.class(cno)
);
(MySQL学习笔记)2020.12.13
最新推荐文章于 2024-07-25 16:06:56 发布