2023.3.8 Mysql

1 MySQL官网地址:Mysql.com
2 通过客户端工具可对MySQL进行操作
代码:mysql -uroot -p

3.查看MySQL中数据库的命令是:show databases;

4.创建数据库 create database 数据库名 default character set 字符编码uft8;

5 删除数据库
使用DDL语言删除数据库
Drop database 数据库名;
6选择数据库:use 数据库名;
9 创建表 :create table 表名(列名 类型,列名 类型,.........);
10 查看创建的表:show tables;
11 删除表:drop table 表名;
12 修改表名:alter table 旧表名 rename 新表名;
13 修改列名:Alter table 表名 change column 旧列名 新列名 类型;
14 修改列类型:Alter table 表名 modify 列名 新类型;
15 添加新列:Alter table 表名 add column 新列名 类型;
15 删除指定列: Alter table 表名 drop column 列名;
16 MySQL中的约束
约束概述:数据库约束是对表中的数据进行进一步的限制,保证数据的正确
性、有效性和完整性。
(1) 主键约束(Primary Key) PK
主键约束是使用最频繁的约束。在设计数据表时,一般情况下,都会要求表中设置一个主键。主键是表的一个特殊字段,该字段能唯一标识该表中的每条信息。例如,学生信息表中的学号是唯一的。
(2) 外键约束(Foreign Key) FK
外键约束经常和主键约束一起使用,用来确保数据的一致性。
(3) 唯一性约束(Unique)
唯一约束与主键约束有一个相似的地方,就是它们都能够确保列的唯一性。与主键约束不同的是,唯一约束在一个表中可以有多个,并且设置唯一约束的列是允许有空值的。
(4) 非空约束(Not Null)
非空约束用来约束表中的字段不能为空。
(5)检查约束(Check)
检查约束也叫用户自定义约束,是用来检查数据表中,字段值是否有效的一个手段,但目前 MySQL 数据库不支持检查约束。
17 添加主键约束(Primary Key)
使用DDL添加主键约束
代码:Alter table 表名 Add primary key(列名);
18 主键自增长
Alter table 表名 modify 主键 类型 auto_increment;
19 删除主键:alter table 表名 drop primari key;
20 去掉主键自增长
Alter table 表名 modify 主键 类型;
21 添加外键约束(Foreign Key)
Alter table 表名 add constraint 约束名(自定义) foreign key (列名) references 参照的表名 (参照的列名);

22 删除外键约束
Alter table 表名 drop foreign key 约束名;
23添加唯一性约束(Unique)
Alter table 表名 add constraint 约束名(自定义) unioue(列名);
24 删除唯一约束名
Alter table 表名 drop key 约束名;
25 添加非空约束(NOT NULL)
Alter table 表名 modify 列名 类型 not null;
26 删除非空约束
Alter table 表名 modify 列名 类型 NULL;

27 查询表中的约束信息
Show keys from 表名;

28 MySQL中DML操作
(1)添加数据insert
(2)更新数据 update
(3)删除数据 delete;
29 选择插入
INSERT INTO 表名(列名 1 ,列名 2 ,列名3....) VALUES(值 1 ,值 2 ,值 3......);
30 如果主键是自动增长,需要使用 default 或者 null 或者 0 占位
31 示例一:向 departments 表中添加一条数据,部门名称为 development ,工作地点 ID 为2 。使用 default 占位。
INSERT INTO 表名(列名 1 ,列名 2 ,列名3.....) VALUES(值 1 ,值 2 ,值 3......);
insert  intodepartments(department_name,location_id)values("market", 1);
INSERT INTO 表名 VALUES(值 1 ,值 2 ,值3......);
使用 default 占位。
insert into departmentsvalues(default,"development",2);
32  默认值处理(DEFAULT)
在 MySQL 中可以使用 DEFAULT 为列设定一个默认值。如果在插入数据时并未指定该列值,那么 MySQL 会将默认值添加到该列中。
创建表时指定列的默认值
示例:
创建 emp3 表,该表包含 emp_id 主键且自动增长,包含 name ,包含 address 该列默认 值为”未知”。
修改表添加新列并指定默认值
示例:
修改 emp3 表,添加job_id 该列默认值为 0。CREATE TABLE 表名(列名 类型 default 默认
值,......);
create table emp3(emp_id int primary key
auto_increment,name varchar(10),address
varchar(50) default 'Unknown');

ALTER TABLE 表名 ADD COLUMN 列名 类型 DEFAULT默认值;

33 更新数据(update)
Update 表名 set 列名=值,列名=值 where 条件;
34 示例:
更新 emp3 表中的 id 为 1 的数据,添加 address 为 BeiJing。
UPDATE 表名 SET 列名=值,列名=值 WHERE 条件;
update emp3 set address = "BeiJing" where emp_id = 1;
35 删除数据(delete)
DeLETE from 表名 where 条件;
36 清空表
Truncate table 表格;

MySQL查询数据
1 Select语句的功能
SELECT 语句从数据库中返回信息。使用一个 SELECT 语句,可以做下面的事:
(1 )列选择:能够使用 SELECT 语句的列选择功能选择表中的列,这些列是想要用查询返回的。当查询时,能够返回列中的数据。
(2)行选择:能够使用 SELECT 语句的行选择功能选择表中的行,这些行是想要用查询返回的。能够使用不同的标准限制看见的行。
(3)连接:能够使用 SELECT 语句的连接功能来集合数据,这些数据被存储在不同的表中,在它们之间可以创建连接,查询出我们所关心的数据。
2 select基本语法
     Select 确定那张列
     From 确定那张表


3 查询中的列选择
(1)选择所有列
Select * FROM employees;
(2)选择指定的列
select EMPLOYEE_ID FROM employees;
4 算术表达式
算术运算符创建数字和日期数据的表达式

5 使用算术运算符
查询雇员的年薪,并显示他们的雇员ID,名字。
select employees_id,last_name, 12*salary from employees;
6 运算符的优先级

如果算术表达式包含有一个以上的运算,乘法和除法先计算。如果在一个表达式中的运算优先级相同,计算从左到右进行。可以用圆括号强制其中的表达式先计算。
7 MySQL 中定义空值
如果一行中的某个列缺少数据值,该值被置为 null, 或者说包含一个空。空是一个难以获得的、未分配的、未知的,或不适用的值。空和 0或者空格不相同。 0 是一个数字,而空格是一个字符
8 MySQL中的别名
(1)使用列别名
SELECT 列名 AS 列别名 FROM 表名 WHERE 条件;
示例:
查询 employees 表将雇员 last_name 列定义别名为 name。
select last_name as name from employees;
select last_name name from employees;

(2)使用表别名
SELECT 表别名.列名  FROM 表名 as 表别名 WHERE 条件;

示例:
查询 employees 表为表定义别名为emp,将雇员 last_name 列定
义别名为 name。
select emp.last_name name from employees emp;
8 MySQL去重重复
(1)去重相同的行 :distinct
1 SELECT DISTINCT 列名 FROM 表名;

9 MySQL中的比较条件
 

10 示例:
查询 employees 表中员工薪水大于等于 3000 的员工的姓名与薪水。
select last_name,salary from employees where
salary >= 3000;

11 其他比较条件
 

12使用between条件
可以用 BETWEEN 范围条件显示基于一个值范围的行。指定的范围 包含一个下限和一个上限。
示例:
查询 employees 表,薪水在 3000-8000 之间的雇员ID、名字与薪 水。
select employee_id,last_name,salary from
employees where salary between 3000 and 8000;

13 使用in条件
示例:
查询 employees 表,找出薪水是 5000,6000,8000 的雇员ID、名字 与薪水。
select employee_id,last_name,salary from
employees where salary in(5000,6000,8000);


14使用like条件

示例:
查询 employees 中雇员名字第二个字母是 e 的雇员名字。
select last_name from employees where
last_name like '_e%';
15 使用NULL条件
NULL 条件,包括 IS NULL 条件和 IS NOT NULL 条件。
示例一:
找出 emloyees 表中那些没有佣金的雇员雇员ID、名字与佣金。
1 select employee_id,last_name,commission_pct
from employees where commission_pct is null;
示例二: 

找出 employees 表中那些有佣金的雇员ID、名字与佣金。 

1 select employee_id,last_name,commission_pct 

from employees where commission_pct is not 

null;

16 逻辑条件

示例一: 

查询 employees 表中雇员薪水是 8000 的并且名字中含有e 的雇员 

名字与薪水。 

select last_name,salary from employees where 

salary = 8000 and last_name like '%e%'; 

示例二: 

查询 employees 表中雇员薪水是 8000 的或者名字中含有e 的雇员 名字与薪水。 

1 select last_name,salary from employees where 

salary = 8000 or last_name like '%e%'; 

示例三: 

查询 employees 表中雇员名字中不包含 u 的雇员的名字。 

1 select last_name from employees where 

last_name not like '%u%';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值