博主小白是一只正在努力学习开发的的“小猪猪”,昵称取自与动画片《猪猪侠》,以不轻易放弃,勇往直前的,乐观 积极的心态努力学习的人。本人正在学习java,主要喜欢自我收集有用资料,愿将所获和大家交流探讨,与大家一起进步,同时也希望对大家有所帮忙。现在,博主也想通过这种方式总结出各种知识点,文章有关的技术点的异常,错误,希望大家指点。
- 对于文章中出现的各种错误请大家提出批评指出,一定及时完善。
- 发布文章的风格因借鉴他人,不足之处请大家指正。
文章目录
MySql操作表中数据
数据库语句
1.数据库创建
create database [数据库名字]
2.判断是否已存在
create datebase if not exists [数据库名字]
3.查询全部数据库
show databases (同时也可以在后面加上like 对数据库查询进行筛选)
4.删除数据库
drop database [数据库名字]
5.判断数据库是否已存在
drop database if exists [数据库名]
6.自动切换到当前数据库
use [数据库名]
表语句
1.创建表
create table <表名> ([表定义选项])[表选项][分区选项]
例如: CREATE TABLE ta_b(
id INT(11),
`name` VARCHAR(25),
deptId INT(11),
salary FLOAT
)
2.修改表数据
alter table <表名> [修改选项]
例如
添加:alter table ta_b add column col1 int first
修改:alter table ta_b modify `name` varchar(30)
删除:alter table ta_b dropcol1
3删除表
drop table <表名>
约束语句
1设置约束
<字段名> <数据类型> PRIMARY KEY [默认值]
例如:CREATE TABLE ta_b(
id INT(11) PRIMARY KEY,
`name` VARCHAR(25),
deptId INT(11),
salary FLOAT
)
2.外键约束
[CONSTRAINT <外键名>] FOREIGN KEY 字段名 [,字段名2,…] REFERENCES <主表名> 主键列1 [,主键列2,…]
例如:CREATE TABLE tb_a(
id INT(11),
deptId INT(11),
CONSTRAINT fk_b_a
FOREIGN KEY(deptId) REFERENCES ta_b(id)
)
3.设置唯一约束(唯一,允许为空,但只能出现一个空值)
<字段名><数据类型> UNIQUE
例如:
CREATE TABLE tb_dept2(
id INT(11) PRIMARY KEY,
name VARCHAR(22) UNIQUE,
location VARCHAR(50)
);
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | varchar(40) | YES | UNI | NULL | |
| location | varchar(50) | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
4.检查约束
check <表达式>
例如:
CREATE TABLE tc_a(
id INT(11) PRIMARY KEY,
`name` VARCHAR(25),
deptId INT(11) UNIQUE,
salary FLOAT CHECK(salary>0 AND aslsry<100)
)
5.设置默认值
<字段名> <数据类型> DEFAULT <默认值>
例如:
CREATE TABLE tc_b(
id INT(11) PRIMARY KEY,
`name` VARCHAR(25) DEFAULT '***',
deptId INT(11) UNIQUE,
salary FLOAT
)
6.非空约束
<字段名><数据类型> not null
例如:
CREATE TABLE tb_dept4
(
id INT(11) PRIMARY KEY,
name VARCHAR(22) NOT NULL,
location VARCHAR(50)
);
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | varchar(22) | NO | | NULL | |
| location | varchar(50) | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
7.查看表中约束
show create table <表名>
一:设置别名
<表名> [AS] <别名>
例如:SELECT * FROM tc_b AS a
二:指定的过滤条件
having <条件>
例如:SELECT dept_id,GROUP_CONCAT(name) AS names
FROM tb_students_info
GROUP BY dept_id
HAVING COUNT(name)>1;
查询
1.查询语句
select * from ta_b
2. 限制查询结果的记录条数
limit <位置偏移量>,<行数>
例如:
SELECT * FROM tc_b LIMIT 0,2 (从第0条开始,每一页2条数据)
3. 对查询结果进行排序
ordep by {<列名> | <表达式> | <位置>} [ASC|DESC] 升序排序|降序排序
例如:SELECT * FROM tc_b ORDER BY salary
4.条件查询
WHERE <查询条件> {<判定运算1>,<判定运算2>,…}
例如:select * from tc_b where id=?
5. 内连接查询
select <列名> from <表1> inner join <表2> on子句
例如:SELECT * FROM tb_a INNER JOIN ta_b
6. 外连接查询(或者 LEFT JOIN)
SELECT <字段名> FROM <表1> LEFT OUTER JOIN <表2> <ON子句>
例如:SELECT * FROM tb_a LEFT OUTER JOIN ta_b ON tb_a.`id`=ta_b.`id`
7.子查询
<表达式> [NOT] IN <子查询>
例如:
SELECT * FROM tb_a
WHERE id IN
(SELECT *
FROM ta_b
WHERE id= 'A' );
8.分组查询
GROUP BY { <列名> | <表达式> | <位置> } [ASC | DESC]
例如:
SELECT dept_id,GROUP_CONCAT(name) AS names
FROM tb_students_info
GROUP BY dept_id;
9.正则表达式查询
字符“^”匹配以特定字符或者字符串开头的文本
查询以特定字符或字符串开头的记录
例如:SELECT * FROM tb_departments
WHERE dept_name REGEXP '^C';
+---------+-----------+-----------+-----------+
| dept_id | dept_name | dept_call | dept_type |
+---------+-----------+-----------+-----------+
| 3 | Chinese | 33333 | B |
+---------+-----------+-----------+-----------+
字符“$”匹配以特定字符或者字符串结尾的文本。
查询以特定字符或字符串结尾的记录
例如:SELECT * FROM tb_departments
WHERE dept_name REGEXP 'y$';
+---------+-----------+-----------+-----------+
| dept_id | dept_name | dept_call | dept_type |
+---------+-----------+-----------+-----------+
| 4 | Economy | 44444 | B |
| 5 | History | 55555 | B |
+---------+-----------+-----------+-----------+
增删改
1.添加数据
INSERT INTO <表名> [ <列名1> [ , … <列名n>] ] VALUES (值1) [… , (值n) ]
例如:INSERT INTO tb_courses (course_id,course_name,course_grade,course_info)
VALUES(1,'Network',3,'Computer Network');
2.删除数据
DELETE FROM <表名> [WHERE 子句] [ORDER BY 子句] [LIMIT 子句]
例如:delete from tb_courses where course_id=4;
+-----------+-------------+--------------+------------------+
| course_id | course_name | course_grade | course_info |
+-----------+-------------+--------------+------------------+
| 1 | Network | 3 | Computer Network |
| 2 | Database | 3 | MySQL |
| 3 | Java | 4 | Java EE |
+-----------+-------------+--------------+------------------+
3.修改数据
UPDATE <表名> SET 字段 1=值 1 [,字段 2=值 2… ] [WHERE 子句 ] [ORDER BY 子[LIMIT 子句]
例如:update tb_courses_new set course_grade=4;
+-----------+-------------+--------------+------------------+
| course_id | course_name | course_grade | course_info |
+-----------+-------------+--------------+------------------+
| 1 | Network | 4 | Computer Network |
| 2 | Database | 4 | MySQL |
| 3 | Java | 4 | Java EE |
| 4 | System | 4 | Operating System |
+-----------+-------------+--------------+------------------+
码了很久了点个赞嘛🤤🤤🤤