数据库部分执行语句

博主小白是一只正在努力学习开发的的“小猪猪”,昵称取自与动画片《猪猪侠》,以不轻易放弃,勇往直前的,乐观 积极的心态努力学习的人。本人正在学习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 |
+-----------+-------------+--------------+------------------+

码了很久了点个赞嘛🤤🤤🤤

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值