MySQL基础语法

这篇博客介绍了MySQL的基本语法,包括创建数据库、使用数据库、创建表并定义数据类型,如INT、VARCHAR等。还详细讲解了数据的增删改查操作以及表的关联查询,如INNER JOIN、LEFT JOIN和RIGHT JOIN。此外,通过实例展示了子查询的使用。
摘要由CSDN通过智能技术生成

        本博客记录了MySQL的几种最基础的语法,包含了创建数据库、创建表语法,以及数据类型

和数据库的增删改查语法,还有表关联查询,子查询。

1、创建数据库:create database +数据库名

其中:charset utf8 是设置编码格式

CREATE DATABASE  db_test DEFAULT CHARSET utf8;

2、使用数据库: use +数据库名

use db_test;

3、创建表: create table +表名

        nou null:不能为空

        unique:唯一

CREATE  TABLE  student (
id  INT PRIMARY KEY  NOT NULL  ,
NAME  VARCHAR(20)  NOT NULL 
);

4、常见的数据类型:

number类型:

TINYINT(size)-128 到 127 常规。0 到 255 无符号*。在括号中规定最大位数。
SMALLINT(size)-32768 到 32767 常规。0 到 65535 无符号*。在括号中规定最大位数。
MEDIUMINT(size)-8388608 到 8388607 普通。0 to 16777215 无符号*。在括号中规定最大位数。
INT(size)-2147483648 到 2147483647 常规。0 到 4294967295 无符号*。在括号中规定最大位数。
BIGINT(size)-9223372036854775808 到 9223372036854775807 常规。0 到 18446744073709551615 无符号*。在括号中规定最大位数。
FLOAT(size,d)带有浮动小数点的小数字。在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。
DOUBLE(size,d)带有浮动小数点的大数字。在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。
DECIMAL(size,d)作为字符串存储的 DOUBLE 类型,允许固定的小数点。

Character 字符串:

char(n)固定长度的字符串。最多 8,000 个字符。n
varchar(n)可变长度的字符串。最多 8,000 个字符。
varchar(max)可变长度的字符串。最多 1,073,741,824 个字符。
text可变长度的字符串。最多 2GB 字符数据。

Date类型:

DATE()

日期。格式:YYYY-MM-DD

注释:支持的范围是从 '1000-01-01' 到 '9999-12-31'

DATETIME()

*日期和时间的组合。格式:YYYY-MM-DD HH:MM:SS

注释:支持的范围是从 '1000-01-01 00:00:00' 到 '9999-12-31 23:59:59'

TIMESTAMP()

*时间戳。TIMESTAMP 值使用 Unix 纪元('1970-01-01 00:00:00' UTC) 至今的描述来存储。格式:YYYY-MM-DD HH:MM:SS

注释:支持的范围是从 '1970-01-01 00:00:01' UTC 到 '2038-01-09 03:14:07' UTC

TIME()时间。格式:HH:MM:SS 注释:支持的范围是从 '-838:59:59' 到 '838:59:59'
YEAR()

2 位或 4 位格式的年。

注释:4 位格式所允许的值:1901 到 2155。2 位格式所允许的值:70 到 69,表示从 1970 到 2069。

5、增删改查语句

新增删除修改查询
insertdeleteupdateselect

新增数据:insert

INSERT INTO student(id,name) VALUES(1,'zhangsan');
INSERT INTO student(id,name) VALUES(2,'lisi');

删除:delete

delete from student where name='zhangsan';

修改:update

update student set name='张三' where name='zhangsan';

查询:select

select * from student;

6、表关联查询

内连接 inner join

左连接 left join     

右连接 right join

实例:

6.1、创建数据库

        6.1.1、学生表

CREATE  TABLE  student (
id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY  ,
NAME  VARCHAR(20)  NOT NULL ,
sex  VARCHAR(4)  ,
birth  YEAR,
department  VARCHAR(20) ,
address  VARCHAR(50) 
);

        6.1.2、分数表

CREATE  TABLE  score (
id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY  AUTO_INCREMENT ,
stu_id  INT(10)  NOT NULL ,
c_name  VARCHAR(20) ,
grade  INT(10)
);

6.2、插入数据

        6.2.1、插入学生表数据

INSERT INTO student VALUES( 901,'张三', '男',1990,'中文系', '湖南省永州市');
INSERT INTO student VALUES( 902,'李四', '男',1990,'英语系', '辽宁省阜新市');
INSERT INTO student VALUES( 903,'王五', '女',1991,'英语系', '福建省厦门市');

        6.2.2、插入分数表数据

INSERT INTO score VALUES(NULL,901, '计算机',98);
INSERT INTO score VALUES(NULL,902, '计算机',65);
INSERT INTO score VALUES(NULL,903, '计算机',70);

6.3、内连接 inner join

SELECT st.*,sc.* FROM student st 
INNER JOIN
score sc ON st.id = sc.stu_id

6.4、左关联查询

SELECT st.*,sc.* FROM student st 
LEFT JOIN
score sc ON st.id = sc.stu_id;

6.5、右关联查询

SELECT st.*,sc.* FROM student st 
RIGHT JOIN
score sc ON st.id = sc.stu_id

7、子查询

        7.1 创建表

CREATE TABLE emp(
empno INT NOT NULL,
ename VARCHAR(20) NOT NULL,
job VARCHAR(20),
mgr INT,
salary DOUBLE
);

        7.2 插入数据

INSERT INTO emp VALUE(1001,'张三','文员',1013,8000.00);
INSERT INTO emp VALUE(1002,'李四','销售员',1006,16000.00);
INSERT INTO emp VALUE(1003,'王五','销售员',1006,12500.00);

7.3 查询工资大于王五的

SELECT * FROM emp WHERE salary >
    (SELECT salary FROM emp WHERE ename = '王五')

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值