整数类型可分为5种,分别是TINYINT、SMALUNT、MEDIUMINT、INT和 BIGINT
在MySQL数据库中使用浮点数和定点数来存储小数。浮点数类型有:FLOAT,DOUBLE,定点数则只有一种:DECIMAL(M,D)。
注:M为数据长度,D为小数点后的长度。
在MySQL中常用CHAR 和 VARCHAR 表示字符串。两者不同的是:VARCHAR存储可变长度的字符串。
文本类型用于表示大文本数据,包括四种:TINYTEXT,TEXT,MEDIUMTEXT,LONGTEXT。
MySQL提供的表示日期和时间的数据类型分别是 :YEAR、DATE、TIME、DATETIME 和 TIMESTAMP。
在MySQL中常用BLOB存储二进制类型的数据,包括四种:TINYBLOB,BLOB,MEDIUMBLOB,LONGBLOB。
create database dh1; //(dh1为数据库名称,以下同理)
show create database dh1;
drop database dh1;
show databases;
alter database dh1 character set ghb1;
use dh1;
select database();
create table student( 字段 字段类型, 字段 字段类型 );
show create table student; (基本信息)
desc student; (字段信息)
alter table student rename to stu;
alter table stu change name sname varchar(10);
alter table stu modify sname int;
alter table stu add address varchar(100);
alter table stu drop address;
drop table stu;
主键约束即primary key用于唯一的标识表中的每一行。被标识为主键的数据在表中是唯一的且其值不能为空。
非空约束即 NOT NULL指的是字段的值不能为空。
默认值约束即DEFAULT用于给数据表中的字段指定默认值,即当在表中插入一条新记录时若未给该字段赋值,那么,数据库系统会自动为这个字段插人默认值。
唯一性约束即UNIQUE用于保证数据表中字段的唯一性,即表中字段的值不能重复出现
外键约束即FOREIGN KEY常用于多张表之间的约束。基本语法如下:
– 在创建数据表时语法如下:
CONSTRAINT 外键名 FOREIGN KEY (从表外键字段) REFERENCES 主表 (主键字段)
– 将创建数据表创号后语法如下:
ALER TABLE 从表名 ADD CONSTRAINT 外键名 FOREIGN KEY (从表外键字段) REFERENCES 主表 (主键字段);
示例:学生表作为主表,班级表作为副表设置外键, MySQL命令:
alter table class add constraint fk_class_studentid foreign key(studentid) references student05(id);
alter table 从表名 drop foreign key 外键名;
注意数据一致性
INSERT INTO 表名(字段名1,字段名2,...) VALUES (值 1,值 2,...);
INSERT INTO 表名(字段名1,字段名2,...) VALUES (值 1,值 2,...); (对想插入的数据指定即可)
INSERT INTO 表名 [(字段名1,字段名2,...)]VALUES (值 1,值 2,…),(值 1,值 2,…),...;
UPDATE 表名 SET 字段名1=值1[,字段名2 =值2,…] [WHERE 条件表达式];
UPDATE 表名 SET 字段名=值1;
DELETE FROM 表名 [WHERE 条件表达式];
DELETE FROM 表名;
##DELETE和TRUNCATE的区别 DELETE语句后可跟WHERE子句,可通过指定WHERE子句中的条件表达式只删除满足条件的部分记录;但是,TRUNCATE语句只能用于删除表中的所有记录。 使用TRUNCATE语句删除表中的数据后,再次向表中添加记录时自动增加字段的默认初始值重新由1开始;使用DELETE语句删除表中所有记录后,再次向表中添加记录时自动增加字段的值为删除时该字段的最大值加1 DELETE语句是DML语句,TRUNCATE语句通常被认为是DDL语句
查询所有字段 MySQL命令:
select * from student;
查询指定字段MySQL命令:
select sid,sname from student;
在SELECT中除了书写列名,还可以书写常数。可以用于标记
常数的查询日期标记 MySQL命令:
select sid,sname,'2021-10-04' from student;
在使用DISTINCT 时需要注意:
在SELECT查询语句中DISTINCT关键字只能用在第一个所查列名之前。
MySQL命令:
select distinct gender from student;
在SELECT查询语句中还可以使用加、减、乘、除运算符。
查询学生10年后的年龄 MySQL命令:
select sname,age+10 from student;
count(); sum(); min(); max(); avg();
SELECT NOW(); SELECT DAY (NOW()); SELECT DATE (NOW()); SELECT TIME (NOW()); SELECT YEAR (NOW()); SELECT MONTH (NOW()); SELECT CURRENT_DATE(); SELECT CURRENT_TIME(); SELECT CURRENT_TIMESTAMP(); SELECT ADDTIME('15:12:34','23:08:07'); SELECT DATE_ADD(NOW(),INTERVAL 1 DAY); SELECT DATE_ADD(NOW(),INTERVAL 1 MONTH); SELECT DATE_SUB(NOW(),INTERVAL 1 DAY); SELECT DATE_SUB(NOW(),INTERVAL 1 MONTH); SELECT DATEDIFF('2021-10-07','2021-10-04');
–连接函数
SELECT CONCAT ()--SELECT INSTR ();
–统计长度
SELECT LENGTH();
– 绝对值
SELECT ABS(-136);
– 向下取整
SELECT FLOOR(3.14);
– 向上取整
SELECT CEILING(3.14);