SQL语句 sql文件实例

    科技2022-08-29  111

    SQL语句

    <body> <!-- SQL语句 操作所有关系型数据库的计算机语言 通过可视化软件MySQL-front操作数据库,实际上本质也是在执行SQL语句 只是,是通过MySQL-front来执行SQL语句,不是我们自己写SQL语句 实际中操作数据库,要通过 cmd 来执行SQL语句,来操作数据库 1,要配置环境变量 配置环境变量,让程序可以在cmd中正常的执行运行 win7操作系统,是 弹出一个编辑输入环境变量位置的输入框 在已有的环境变量配置的最后 添加 分号 与之前的环境变量区分 分号之后,在 复制 bin文件的路径地址 之后是一路确定 配置好之后,重启cmd 输入命令,登录mysql数据库 输入账号密码 , 就等于 MySQL-front 打开软件,输入账号密码 -u 是输入账号 -p 是输入密码 mysql -uroot -p 点击回车 设定cmd中显示的编码格式 cmd中默认的编码格式是gbk 数据库中,数据的编码格式是utf8 SET NAMES gbk; // 设定编码格式是gbk SET NAMES utf8; // 设定编码格式是utf8 库结构的操作 指定使用的 库结构 use `库名`; 创建库结构 CREATE DATABASE IF NOT EXISTS `库名`; create database if not exists `库名`; 如果创建的库名已经存在,不会创建新的库结构,并且不会报错 简写 CREATE DATABASE `库名`; creata database `库名` 如果创建的库名已经存在,程序执行会报错,之后的程序不会执行 查看库结构 查看所有的库结构 SHOW DATABASES; show databases 查看库结构的设置信息 SHOW CREATE DATABASE IF NOT EXISTS `库名`; show create database if not exists `库名`; 查看正在使用的库结构 SELECT DATABASE(); select database(); DATABASE() 是 MySQL设定 一个 方法函数,作用就是查询正在使用的库结构 删除库结构 DROP DATABASE IF EXISTS `库名`; 简写 DROP DATABASE `库名`; 表结构的操作 创建表结构 每一个表结构都必须有至少一个字段,不能建立一个没有字段的空的表格结构 如果是多个字段,最后一个字段之后的逗号,必须不要写 CREATE TABLE IF NOT EXISTS `表名`( create table if not exists 字段1 数据类型 约束条件, 字段2 数据类型 约束条件 )引擎设定 编码格式设定 注释设定 查看表结构 查看所有的表结构 SHOW TABLES; 查看表结构的建立方式 SHOW CREATE TABLE `表名`; 查看表结构中的字段 DESC `表名`; 删除表结构 DROP TABLE `表名`; 字段的相关设定 完整设定一个字段,包括 字段名称 数据类型 属性 约束条件 注释 MySQL数据库,数据类型 输入的数据,与设定的字段的数据类型不符合,无法输入 字段的数据类型,只要设定的合适就行,越小越好 例如:存储年龄,年龄不能是负数, 0-255的范围就基本够用了,没有必要设定更大的存储范围,占用更多的存储空间 哪个字段,使用什么数据类型,会在项目手册中做严格的规定,项目的数据库架构师会设计好 数值类型 整数类型 通过字段的属性,设定字段的数值范围 是否允许是负数 TINYINT(M) 1个字节 存储数值范围 -128 至 127 (默认范围) 或者 0 至 255 (UNSIGNED) SMALLINT(M) 2个字节 存储数值范围 -32768 至 32767 或者 0 至 65535 MEDIUMINT(M) 3个字节 存储数值范围 -8388608 至 8388607 或者 0 至 16777215 INT(M) 4个字节 存储数值范围 -2147483648 至 2147483647 或者 0 至 4294967295 BIGINT(M) 8个字节 存储数值范围 -9223372036854775808 至 9223372036854775807 或者 0 至 18446744073709551615 浮点数类型 FLOAT(M,D) -3.4e38 至 3.4e38 最多存储7位小数,超出部分无法设定 DOUBLE(M,D) -1.7e308 至 1.7e308 最多存储15位小数,超出部分无法设定 DECIMAL(M,D) 组多存储65位数值 最多存储30位小数 整数的M值,设定数值位数 TINYINT(1) 只允许存储一位数值 只允许有个位 0-9 但是实际中,整合的 M 设定值 不起作用,只要不超出整数的范围,都是可以输入的 TINYINT(1) 想限定只能输入1位数值,实际上只要不超过范围,都能输入 这个 (1) 是没有用的 整数,一般设定数据类型,也不写 (M) 限定值 浮点数的M,D值 : D 值表示 整个数值中,小数部分的位数 输入数据,超出小数部分,不会存储,会只存储设定部分的小数 M 值表示 整个数值中,所有数值的位数 FLOAT(7,3) 存储的小数,整数部分和小数部分,一共是7位 小数部分是3位,整数部分是4位 小数部分多了,可以写入,只存储3位 整数部分多个,不能写入 字符串类型 数值太大的数字,也可以存储为字符串形式,为了节约存储空间 CHAR(M) 定长字符串 用于存储固定长度的字符串内容 手机号,身份证号,银行卡号 存储范围 : 0 至 255个字符 VARCHAR(M) 变长字符串 用于存储不固定长度的字符串内容 姓名,邮箱,地址... 存储范围 : 0 至 65535个字符 如果是中文, 理论上最多存储 21848个字符 同一个表结构中,存储的其他数据类型的长度,也会影响VARCHAR存储的长度 一般都存储不到理论上的最大值 TINYTEXT(M) 255个字符 TEXT(M) 65535个字符 MEDIUMTEXT(M) 16777215个字符 LONGTEXT(M) 4294967295个字符 或者 4G M 值,设定存储字符串长度,超出设定不能写入存储 一般就是用 CHAR 和 VARCHAR 内容过多,存储成文件的形式,然后读取文件 时间类型 YEAR(2或者4) 2位或者4位年份 TIME() 格式 HH:MM:SS DATE() YYYY-MM-DD 1001-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() 自动存储当前时间 特殊类型 ENUM() 枚举类型,设定输入的数据数值范围,必须是规定的数据 性别: 男,女,保密,其他数据不允许输入 单选效果 SET() 集合类型,输入的数据,必须是符合规定的数据 多选效果 BOOLEAN 布尔类型 0 表示 false 非0 表示 true 字段的属性 字段的属性有两个,都是设定给数值类型的字段 UNSIGNED 设定数值是否可以存储负数 默认数值类型是可以存储负数的 设定 UNSIGNED 只能存储 0 至 正整数 范围的数值 ZEROFILL 设定自动补零操作 设定数值为2位数值,当前只输入一位数值,有ZEROFILL属性,会自动在数值前补零 1 --- 01 带有 ZEROFILL 属性的字段 会自动带有 UNSIGNED 属性 字段的约束条件 NOT NULL 不能输入空值 null DEFAULT 设定默认值,如果要输入默认值, 可以输入 DEFAULT 关键词,就会写入设定的默认值 UNIQUE KEY 唯一约束 字段输入的数值不能是重复数值 PRIMARY KEY 主键约束 一个表结构,默认只能有一个字段设定主键约束 设定主键约束的字段,数据不能重复,不能为空 一般与 AUTO_INCREMENT 配合使用 FOREIGN KEY 外键约束 多个表 执行联合查询时会使用的外键约束 字段的注释 COMMENT 对字段的说明 表结构的引擎 编码格式 注释说明 ENGINE innoDB 或者 MyISAM CHARSET utf8 COMMENT 注释说明 字段相关操作 修改字段,最好是在字段没有输入数据时修改 如果字段已经有了数据,再来修改字段,如果字段设定与已经存在的字段冲突,会造成修改失败 修改字段: 字段的数据类型,属性,约束条件,注释,都需要重新设计 即时你还是原来的设定,也要重新写一遍 只修改字段名称 ALTER TABLE `表名` CHANGE `旧字段名` `新字段名` 新字段的所有设定 修改字段的约束条件 ALTER TABLE `表名` MODIFY `字段名` 字段的所有设定 删除字段 ALTER TABLE `表名` DROP `字段名`; 新增字段 在所有字段之后新增字段 ALTER TABLE `表名` ADD `字段名` 字段的所有设定; 在所有字段之前新增字段 ALTER TABLE `表名` ADD `字段名` 字段的所有设定 FIRST; 在指定字段之后新增字段 ALTER TABLE `表名` ADD `字段名` 字段的所有设定 AFTER `指定的字段名`; 数据写入: 给所有的字段都写入数据 INSERT INTO `表名` VALUES (数据1,数据2....); 数据内容必须与字段内容一一对象,不能多也不能少 如果不想输入,可以使用DEFAULT执行默认值 给指定的字段写入数据 INSERT INTO `表名`(`字段1`,`字段2`....) VALUES (数据1,数据2....); 在()中设定的字段,必须与输入的数据一一对应 如果不想输入,可以使用DEFAULT执行默认值 如果设定为NOT NULL的字段,必须有数据的写入,并且不能是NULL --> </body>

    sql文件

    – 创建库结构 CREATE DATABASE IF NOT EXISTS 2002;

    – 查看库结构

    – 查看所有库结构 SHOW DATABASES;

    – 查看库结构信息 SHOW CREATE DATABASE IF NOT EXISTS 2002;

    – 查看所有的库结构 SELECT DATABASE();

    – 指定使用库结构 USE 2002;

    – 删除库结构 DROP DATABASE IF EXISTS 2002;

    – 创建表结构

    – 简单的创建表结构,至少有一个字段,多个字段,不要写最后一个逗号. CREATE TABLE IF NOT EXISTS user1( name VARCHAR(50), pwd VARCHAR(50) );

    – 创建一个稍微正规一点的表结构

    CREATE TABLE IF NOT EXISTS user1( id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT COMMENT ‘主键值字段’, username VARCHAR(50) NOT NULL UNIQUE KEY COMMENT ‘账号字段,不能为空,不能重复’, userpwd VARCHAR(50) NOT NULL DEFAULT ‘666666’ COMMENT ‘密码字段,不能为空,默认值是666666’, userage TINYINT UNSIGNED DEFAULT 18 COMMENT ‘用户年龄字段,默认值是18岁,不能传存储负数,为是0-255’, usersex ENUM(‘男’,‘女’,‘保密’) DEFAULT ‘保密’ COMMENT ‘用户性别字段,只能输入男,女,保密,默认值是保密’, hobby SET(‘吃’,‘喝’,‘玩’,‘乐’) COMMENT ‘爱好选项,只能输入 吃 喝 玩 乐’, phone CHAR(11) NOT NULL UNIQUE KEY COMMENT ‘手机号,固定11位,不能为空,不能重复’, pay FLOAT(10,3) DEFAULT 8000 COMMENT ‘薪资字段,最多999万9999’, time TIMESTAMP COMMENT ‘时间字段,默认存储写入数据时的时间’ );

    – 1,id主键值字段是必须的字段,每个表结构默认都需要有一个 – 2,UNIQUE KEY 唯一约束 输入的数值不能重复 – 3,DEFAULT 设定默认值,要执行默认值时,可以就写 DEFAULT – 4,ENUM 枚举类型 只能输入 () 中规定的数值 , 并且是单选效果 – 5,SET 集合类型 只能输入 () 中规定的数值 , 可以是多选,也就是一次性输入多个值 – 6,UNSIGNED 设定输入的数据不能是负数,只能是 0 - 正数 – 7,TIMESTAMP 默认存储当前时间

    – 查看所有表结构 SHOW TABLES;

    – 查看表结构创建信息 CREATE TABLE user1;

    – 查看表结构字段信息 DESC user1;

    – 数据的写入 给所有字段写入数据 INSERT INTO user1 VALUES (DEFAULT,‘张三’,‘123456’,20,‘男’,‘吃,喝,玩,乐’,‘12345678901’,8000,DEFAULT);

    – 写入执行字段的数据 有默认值的,要执行默认值的字段,可以不写数据 INSERT INTO user1(username,userpwd,usersex,hobby,phone) VALUES (‘李四’,‘123456’,‘男’,‘吃,喝’,‘12345678902’);

    – 第一个字段是id主键值,一般不写,使用DEFAULT – 时间是 TIMESTAMP 也是会自动存储时间,使用DEFAULT – ENUM 枚举类型,只能输入设定的数值,出入其他数值会报错 – SET 一次可以输入多个数值,使用逗号间隔

    – 修改字段操作 – 修改字段,最好是在字段没有输入数据时修改 – 如果字段已经有了数据,再来修改字段,如果字段设定与已经存在的字段冲突,会造成修改失败

    – 修改字段名 ALTER TABLE user1 CHANGE username name VARCHAR(50) NOT NULL UNIQUE KEY COMMENT ‘账号字段,不能为空,不能重复’;

    – 修改字段设定 ALTER TABLE user1 CHANGE name VARCHAR(150) NOT NULL UNIQUE KEY COMMENT ‘账号字段,不能为空,不能重复’;

    – 删除字段 ALTER TABLE user1 DROP name;

    – 新增字段

    – 在所有字段之后 ALTER TABLE user1 ADD name VARCHAR(150) NOT NULL UNIQUE KEY COMMENT ‘账号字段,不能为空,不能重复’;

    – 在所有字段之前,新增字段 ALTER TABLE user1 ADD name2 VARCHAR(150) NOT NULL UNIQUE KEY COMMENT ‘账号字段,不能为空,不能重复’ FIRST;

    – 在指定的字段之前,新增字段 ALTER TABLE user1 ADD name3 VARCHAR(150) NOT NULL UNIQUE KEY COMMENT ‘账号字段,不能为空,不能重复’ AFTER userpwd;

    Processed: 0.014, SQL: 9