SQL

SQL

MySQL服务的登录

mysql [-h主机名 -P端口号] -u用户名 -p密码

MySQL操作数据库命令

1.创建数据库
CREATE DATABASE 数据库名;
2.删除数据库
drop database 数据库名;
3.选择数据库
use 数据库名;
4.显示MySQL管理的所有数据库
SHOW DATABASES;
5.查看当前打开的数据库
SELECT DATABASE();

数据库数据类型

数值类型
INT或INTEGER4 字节(-2 147 483 648,2 147 483 647)(0,4 294 967 295)大整数值
FLOAT(8,2)4 字节(-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38)0,(1.175 494 351 E-38,3.402 823 466 E+38)单精度 浮点数值
DOUBLE(5,1)8 字节(-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)双精度 浮点数
时间类型
类型大小 (字节)范围格式用途
DATE31000-01-01/9999-12-31YYYY-MM-DD日期值
TIME3‘-838:59:59’/‘838:59:59’HH:MM:SS时间值或持续时间
DATETIME81000-01-01 00:00:00/9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和时间值

数据表操作命令(每个表必须要有主键!)

1.创建数据库
CREATE TABLE table_name (column_name column_type);
例子:
CREATE TABLE department (
id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
`name` VARCHAR(20) NOT NULL,
manager VARCHAR(25)
);
CREATE TABLE employee(
id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
`name` VARCHAR(25) NOT NULL,
sex ENUM('男','女') DEFAULT '男',
salary DOUBLE(8,1),
d_id INT UNSIGNED,
FOREIGN KEY(d_id) REFERENCES department(id)
)
2.删除表
DROP TABLE table_name ;
3.查看表结构
DESC table_name;

约束

1.主键约束:PRIMARY KEY

2.自增约束:AUTO_INCREMENT

3.外键约束:FOREIGN KEY

4.唯一约束:UNIQUE

5.非空约束:NOT NULL

6.默认约束:DEFAULT

7.无符号约束:UNSIGNED

常用函数

1.字符函数

​ concat拼接
​ substr截取子串
​ upper转换成大写
​ lower转换成小写
​ trim去前后指定的空格和字符
​ ltrim去左边空格
​ rtrim去右边空格
​ replace替换
​ lpad左填充
​ rpad右填充
​ instr返回子串第一次出现的索引
​ length 获取字节个数

2、数学函数

​ round 四舍五入
​ rand 随机数
​ floor向下取整
​ ceil向上取整
​ mod取余
​ truncate截断

3、日期函数

​ now当前系统日期+时间
​ curdate当前系统日期
​ curtime当前系统时间
​ /*
​ %Y:代表4位的年份
​ %y:代表2为的年份

%m:代表月, 格式为(01……12) 
    %c:代表月, 格式为(1……12)

%d:代表月份中的天数,格式为(00……31) 
%e:代表月份中的天数, 格式为(0……31)

%H:代表小时,格式为(00……23) 
%k:代表 小时,格式为(0……23) 
%h: 代表小时,格式为(01……12) 
%I: 代表小时,格式为(01……12) 
%l :代表小时,格式为(1……12)

%i: 代表分钟, 格式为(00……59) 【只有这一个代表分钟,大写的I 不代表分钟代表小时】

%r:代表 时间,格式为12 小时(hh:mm:ss [AP]M) 
%T:代表 时间,格式为24 小时(hh:mm:ss)

%S:代表 秒,格式为(00……59) 
%s:代表 秒,格式为(00……59)
*/
str_to_date 将字符转换成日期
date_format将日期转换成字符

数据操作命令

插入语句
INSERT INTO table_name (field1, field2,...fieldN) VALUES (value1, value2,...valueN);
查询数据
SELECT column_name,column_name FROM table_name [WHERE Clause] [LIMIT N]
更新数据
UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause]
删除数据
DELETE FROM table_name [WHERE Clause]
排序查询

ORDER BY field1(DESC OR ASC)

分组查询

GROUP BY 分组后家条件用HAVING

分页查询(limit)

SELECT * FROM score WHERE stu_id LIMIT 1,1;
#第一个参数:起始下标
#第二个参数:返回的记录个数

#使用limit实现分页查询
/*
	当前显示的页数 2 index
	每页显示个数  3 number
*/
SELECT * FROM score WHERE stu_id LIMIT (index-1)*number,number;

多表联查

  • SELECT * FROM student INNER JOIN teacher ON student.t_id = teacher.id;
    SELECT * FROM student LEFT JOIN teacher ON student.t_id = teacher.id;
    SELECT * FROM student RIGHT JOIN teacher ON student.t_id = teacher.id;
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值