MySQL-mysql 数据类型,操作数据表,记录操作

一,数据类型

各日期类型的开始时间到结束时间:
1、YEAR:1970至2069
2、TIME:-838:59:59至838:59:59
3、DATE:1000-1-1至9999-12-31
4、DATETIME: 1000-1-1 00:00:00至9999-12-31 23:59:59
5、TIMESTAMP存储范围:1970-1-1 00:00:00到2037-12-31 23:59:59
字符型
1、CHAR(M):定长类型,比如CHAR(5),如果我们只赋值abc,那么系统会自动在后面补两个空格0——255
2、VARCHAR(M):变长类型,L+1个字节,其中L<=M且0<=M0——65535
3、ENUM(‘value1‘,‘value2‘...)枚举值,提供几个选项,选择其中一个,如:性别(‘男‘,‘女‘,‘保密‘)
4、SET(‘value1‘,‘value2‘...) 最多64个成员,可以任选里面其中几个,任意排列组合


二,数据表
数据表
1、数据表(或表)是数据库最重要的组成部分之一,是其他对象的基础
2、表是一个二维表,行称为【记录】,列称为【字段】
创建数据表
1、首先打开数据库(数据库要存在): USE 数据库名称
2、创建数据表:CREATE TABLE [IF NOT EXISTS] table_name(
column_name(列名称) data_type(列类型),
.... )
举例——
CREATE TABLE tb1(
username VARCHAR(20),
userage TINYINT UNSIGNED,
salary FLOAT(8,2) UNSIGNED,
);

UNSIGNED 无符号
查看数据表:(查看选择的数据库的表)
SHOW TABLES [FROM db_name] [LIKE ‘pattern‘ | WHERE expr];(可以用来查看其他数据库的表列表)
例:
SHOW TABLES;//查看当前选择的数据库的所有表
SHOW TABLES FROM TEST;//查看TEST数据库中的所有表,当前选择数据库位置不变。

SELECT DATABASE();//查看当前选择的数据库

查看数据表列表
SHOW TABLES [FROM db_name] [LIKE ‘pattern‘ | WHERE expr]
SHOW TABLES; //查看当前数据库中的表
SHOW TABLES FROM mysql;
FROM之后,当前数据库不会发生改变
SHOW COLUMNS FROM tb1; 查看tb1中的数据表结构

插入记录(插入表中的行)
INSERT tbl_name [字段(colume),...] VALUES(val,...);
省略字段后,values(记录内容必须按照表列顺序也就是字段顺序以逗号分隔,且插入内容一个不能少);
若不省略字段(可部分省略,省略部分记录自动为空),values(记录内容按照字段插入内容,写几个字段插入几个内容);
记录查找(多表查原理笛卡尔积):
SELECT ecpr(表达式),...FROM tbl_name;
星号是字段的过滤:SELECT * FROM tb1; *字段的过滤,全部记录

空值与非空:  NULL,字段值可以为空      NOT NULL,字段值禁止为空,不赋值会报错
自动编号 AUTO_INCREMENT
自动编号,且必须与主键配合使用
1、自动编号:保证记录的唯一性
2、类型必须为整型(可以是FLOAT(5,0)等,小数点后必须为0),必须和主键PRIMARY KEY组合使用
3、默认情况下,起始值为1,每次的增量为1
CREATE TABLE tb3(
id SMALLINT UNSIGNED AUTO_INCREMENT,
username VARCHAR(30) NOT NULL); //报错,自动增量字段必须设置成主键

主键约束
1、唯一性(可以赋值但是不能给两个记录赋一样的值)每张表只存在一个主键
2、非空,插入方式与NOT NULL一样
3、自动编号(AUTO_INCREMENT)必须与主键(PRIMARY KEY)搭配使用,主键可以不与自动编号一起使用
1.primary key
主键约束
一个表中只能有一个

2.UNIQUE KEY 唯一约束
(1)唯一约束可以保证记录的唯一性
(2)唯一约束的字段可以为空值(NULL)  (但只能有一个空值)
(3)每张数据表可以存在多个唯一约束

default 默认值(默认约束)
当插入记录时 如果没有明确为字段赋值 则自动赋予默认值




				
时间: 2024-08-10 02:09:43

MySQL-mysql 数据类型,操作数据表,记录操作的相关文章

MySQL学习笔记-操作数据表中的记录

MySQL学习笔记-操作数据表中的记录 1.插入记录 INSERT INSERT [INTO] tbl_name [(col_name,...)] {VAULES|VALUE} ({expr|DEFAULT},...),(...),... 例,插入单条记录: mysql> USE testDatabase changed mysql> CREATE TABLE users(    -> id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,   

MySQL的外键,修改表,基本数据类型,表级别操作,其他(条件,通配符,分页,排序,分组,联合,连表操作)

MySQL的外键,修改表,基本数据类型,表级别操作,其他(条件,通配符,分页,排序,分组,联合,连表操作): a.创建2张表 create table userinfo(nid int not null auto_increment primary key, name varchar(10), age int, part_nid int )engine=innodb default charset=utf8; create table part( nid int not null auto_in

MySQL数据库(3)_MySQL数据库表记录操作语句

附: MYSQL5.7版本sql_mode=only_full_group_by问题 1.查询当前sql_mode: select @@sql_mode 2.查询出来的值为: set @@sql_mode ='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; 3.修改s

mysql 表记录操作

1.增加表记录 <1>插入一条记录: insert [into] tab_name (field1,filed2,.......) values (value1,value2,.......); <2>插入多条记录: insert [into] tab_name (field1,filed2,.......) values (value1,value2,.......), (value1,value2,.......), ... ; <3>set插入: insert [

Mysql 数据表记录操作

1 增加记录: insert [into] tab_name (field1,field2....) values (values1,values2....) , (values1,values2....), ... : insert tab_name set field=value, field=value,..... : 2 修改记录 update tab_name set field=value where 子句 3 删除表记录: delete from tab_name where 子句

MySQL的数据类型和表结构

DB,DataBase-数据库:依照某种数据模型进行组织并存放到存储器的数据集合. DNMS,DataBase Management System-数据库管理系统:用来操纵和管理数据库的大型服务软件. DBS,DataBase System-数据库系统:即DB+DBMS,指带有数据库并整合了数据库管理软件的计算机系统. Oracle(甲骨文):Oracle Database . MySQLMicrosoft(微软):SQL Server .AccessIBM: DB2Sybase: Sybase

MySQL学习3 - 数据表的操作

本节掌握 一.存储引擎(了解) 二.mysql支持的存储引擎 1.InnoDB 存储引擎 2.MyISAM 存储引擎 3.NDB 存储引擎 4.Memory 存储引擎 5.Infobright 存储引擎 6.NTSE 存储引擎 7.BLACKHOLE 8.指定表类型/存储引擎 三.表介绍 四.创建表 本节掌握 存储引擎介绍(了解) 表的增删改查 一.存储引擎(了解) 前几节我们知道mysql中建立的库=>文件夹,库中的表=>文件 现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各

salt return mysql返回的使用,记录操作日志

1.安装依赖(操作只在master端) yum -y install MySQL-python 2.master端本地数据库中创建对应的表结构 CREATE DATABASE  `salt`   DEFAULT CHARACTER SET utf8   DEFAULT COLLATE utf8_general_ci; USE `salt`;    -- -- Table structure for table `jids` --    DROP TABLE IF EXISTS `jids`; C

shell 脚本获取MySQL数据库中所有表记录总数

近期遇到一个需求,Mysql数据库中需要统计所有表的记录数据:查了下资料可以调取information_schema数据表中数据获取所有表记录数据,但是查询出来的数据,发现和手动统计的记录数据不一致,information_schema查询出来的数据部分不准确[原因应该是部分表数据没有自动同步].折腾了下,于是还是自己手动写个脚本,分享下也做下次备用.程序结构:#!/bin/bash Author:Jerry tb_name=mysql -u账号 -p密码 -h192.168.x.x -P端口