1、sql中典型的数据类型
数据类型 | 表示符号 | 表示方式说明 |
---|---|---|
字符型数据 | CHAR(n) | 长度为n的定长字符数据,长度不够时用空白字符补充 |
VARCHAR(n) | 长度为n的变长字符数据,长度不够时不需补充字符 | |
数值型数据 | SMALLINT | 半字长整型数据,范围为-2^15 ~ +2^15 ,占用两个字节 |
INT/INTEGER | 全字长整型数据,范围为-2^31 ~ +2^31 ,占用4个字节 | |
DECIMAL(p[,q]) | 长度为p位的十进制数据,小数位数为q,无小数时q可省略不写 | |
FLOAT | 双字长浮点数,字长为64位 | |
二进制型数据 | BINARY[(n)] | 长度为n的定长二进制数据,占用n+4个字节 |
VARBINARY[(n)] | 长度为n的变长二进制数据,占用实际字符数+4个字节 | |
IMAGE | 长度为n的变长二进制数据,最大长度2^31-1个字节 | |
日期时间型数据 | DATETIME | 日期型数据,形式为YYYY-MM-DD |
TIME | 时间型数据,形式为HH:MM:SS |
2、mysql数据库操作
-
创建数据库
格式:
CREATE DATABASE 数据库名称;
CREATE DATABASE 数据库名称 CHARACTER SET 字符集;
例如:
创建数据库中数据编码采用的是安装数据库时制定的默认编码utf8
CREATE DATABASE mydata;
创建数据库并制定数据库中的编码
CREATE DATABASE mydata CHARACTER SET utf8;
-
查看数据库
查看数据库mysql服务器中的所有数据库:
SHOW DATABASES;
查看猴哥数据库的定义的信息:
SHOW CREATE DATABASE 数据库名称;
-
删除数据库
DROP CREATE DATABASE 数据库名称;
-
其他的数据库操作命令
切换数据库:
USE 数据库名;
-
查看正在使用的数据库
SELECT DATABASE();
3、表结构相关语句
- 创建表
格式:
CREATE TABLE 表名(
字段名1 类型(长度) 约束,
字段名2 类型(长度) 约束,
字段名3 类型(长度) 约束
);
例如:
CREATE TABLE sort(
s_id INT,-- 分类 ID
s_name VARCHAR(100) -- 分类名称
);
- 主键约束
主键是用于表示当前记录的字段,它的特点是非空且唯一。在开发中一般情况下主键是不具备任何含义,只是用于标识当前记录。
格式:
1、在创建表格时创建主键,在字段后面加上PRIMARY KEY
CREATE TABLE tablename(
t_id INT PRIMARY KEY,
......
);
2、在创建表时创建主键,在表创建的最后来指定主键
CREATE TABLE tablename(
t_id INT,
......,
PRIMARY KEY(t_id )
);
-
删除主键
ALTER TABLE 表名 DROP PRIMARY KEY;
-
主键自动增长
一般主键是自增长的字段,不需要指定。
实现添加自增长语句,主键字段后加AUTO_INCREMENT(只适用于mysql)
例如:
CREATE TABLE tablename(
t_id INT PRIMARY KEY AUTO_INCREMENT,
t_name VARCHAR(100)
);
- 查看表
查看数据库中所有表:
SHOW TABLES;
查看表结构:
DESC 表名;
-
删除表
格式:
DROP TABLE 表名;
-
修改表结构
用于修改表添加列
ALTER TABLE 表名 ADD 列名 类型(长度) 约束;
例如:
ALTER TABLE users ADD u_name VARCHAR(20);
用于修改表修改列的类型长度及约束
ALTER TABLE 表名 MODIFY 列名 类型(长度) 约束;
例如:
ALTER TABLE users MODIFY u_name VARCHAR(50) NOT NULL;
-- 给表users的分类名称字段进行修改,改为类型为VARCHAR(50) 并且添加约束NOT NULL
用于修改的表列名
ALTER TABLE 表名 CHANGE 旧列名 新列名 类型(长度) 约束;
用于修改表的删除列
ALTER TABLE 表名 DROP 列名;
用于修改表名
RENAME TABLE 表名 TO 新表名;
用于修改表的字符集
ALTER TABLE 表名 CHARACTER SET 字符集;
例如:
ALTER TABLE users CHARACTER SET gbk;
-- 把表users的编码修改成gbk
- 插入表记录
语法:
INSERT INTO 表 (列名1,列名2,列名3...) VALUES (值1,值2,值3...);-- 向表中插入某些列
INSERT INTO 表 VALUES (值1,值2,值3...);-- 向表中插入所有列
- 更新表记录
用来修改指定条件的数据,将满足条件的路局指定列修改为指定值
语法:
UPDATE 表名 SET 字段名=值,字段名=值;
UPDATE 表名 SET 字段名=值,字段名=值 WHERE 条件;
注意:
1、修改的类型与修改的值要一致
2、修改值的时候不能超过最大长度
3、值如果是字符串或者日期需要加‘’
例如:
-- 1、将指定的sname字段中的值,修改成日用品
UPDATE sort SET sname=‘日用品’;
-- 2、将sid为s002的记录中的sname改成日用品
UPDATE sort SET sname=‘日用品’ WHERE sid=‘s002’;
- 删除记录
语法:
DELETE FROM 表名 [WHERE 条件];
-- 或者
TRUNCATE TABLE 表名;
/*
DELETE 一条一条删除,不清空AUTO_INCREMENT(自增长)记录数;
TRUNCATE 直接将表删除,重新建表,AUTO_INCREMENT将置为零
*/