MySQL 表的操作语句(2)
一:MySQL支持的数据类型
1:CHAR和TEXT :分别表示定长的和可变长的串。
CHAR:1-255个字符的定长串,它的长度必须在创建时指定。
TEXT:最大长度为64K的文本
VARCHAR:长度为0-255之间的可变字符串。
//MySQL处理不定长的串比处理定长的串的效率低的多。
2:数值,取值范围越大,需要的字节数越多,除过BIT和BOOLEAN之外,所有的都支持有符号和无符号两种类型。
BIT:位字段,1-64位。
BOOLEAN:bool,0或者1。
TINYINT:相当于char。
DECIMAL:精度可变的浮点值。货币可以使用DECIMAL。
SMALLINT:相当于short。
INT:普通的INT。
FLOAT:单精度浮点值。
DOUBLE:双精度浮点值。
BIGINT:整数值,范围非常大。
3:日期和时间
DATE:1000-01-01~9999-12-31,格式YYYY-MM-DD
TIME:格式HH:MM:SS
DATETIME: DATE和TIME的结合。
YEAR:用两位数表示,范围为1901~2155
4:二进制数据类型:存储信息,图像。
BLOB:BLOB最大长度为64KB
TINYBLOB:255个字节
MEDIUMBLOB:16M
LONGBLOB:4G
二:创建,删除,更新,插入。
//创建表
CREATE TABLE student //指定表名为student
(
stu_id int NOT NULL AUTO_INCREMENT PRIMARY KEY, //stu_id类型为int,并且AUTO_INCREMENT指定本列每当增加一行时自动增量。
stu_name CHAR(30) NOT NULL, //stu_name 不能为NULL,NULL不等于空串。
stu_phoneNum CHAR(30) NULL, DEFAULT '110', //NULL表明stu_phoneNum允许为空值。并且设置默认电话号码为'110'
stu_age int NOT NULL check(stu_age BETWEEN 18 AND 25), //但是好像check在MySQL中不支持
stu_courseID int REFERENCES Course(stu_courseID), //定义外键,使得student.stu_courseID与Course表中的stu_courseID一样。
stu_time datetime DEFAULT now() //设置stu_time的默认值为当前的时间。
);
create table test(a int identity(1,1),b int) //identity(1,1) 表示默认从1开始每次增加1
//更新表
ALTER TABLE student ADD stu_address CHAR(20) NOT NULL;
//这条语句可以给vendors增加一个stu_address的列,但是注意必须确定其数据类型。
ALTER TABLE student MODIFY COLUMN stu_id int NOT NULL AUTO_INCREMENT;
//如果没有给stu_id指定AUTO_INCREMENT,可以用MODIFY指定AUTO_INCREMENT,但是注意需要给stu_id 指定类型
ALTER TABLE student MODIFY COLUMN stu_time timestamp DEFAULT now(); //更新stu_time的默认值为now()。
ALTER TABLE student ALTER COLUMN stu_id SET DEFAULT 0; //重新设置stu_id默认值为0
ALTER TABLE student MODIFY COLUMN stu_id int DEFAULT 0; //和上面的语句效果是一样的。
UPDATE student SET stu_id=1 WHERE stu_name='yang'; //只更新名字为yang的一行,将它的stu_id设为1
UPDATE student SET stu_id=1; //直接将所有的行更新。
//删除表和数据库,删除一列
DROP DATABASE database; //删除数据库databse
DROP TABLE student; //删除表直接用DROP TABLE
ALTER TABLE table DROP COLUMN stu_id; //删除掉表table中的stu_id列
DELETE FROM student WHERE stu_id=1; //删除stu_id为1的那一列
//重命名
RENAME TABLE stduent TO stduent1 //将student命名为student1
MySQL 表的操作语句(2)的更多相关文章
- MySQL数据库(3)_MySQL数据库表记录操作语句
附: MYSQL5.7版本sql_mode=only_full_group_by问题 .查询当前sql_mode: select @@sql_mode .查询出来的值为: set @@sql_mode ...
- Django之mysql表单操作
在Django之ORM模型中总结过django下mysql表的创建操作,接下来总结mysql表记录操作,包括表记录的增.删.改.查. 1. 添加表记录 class UserInfo(models.Mo ...
- MySQL数据库基础操作语句
SQL语言主要用于存取数据.查询数据.更新数据和管理关系数据库系统,分为3种类型: 1.DDL语句 数据库定义语言: 数据库.表.视图.索引.存储过程,例如CREATE DROP ALTER 2.DM ...
- MySQL表的操作
一.存储引擎(了解) 前几节我们知道mysql中建立的库===>文件夹,库中的表====>文件 现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不同的处理机制:比如处理文 ...
- MySQL表的操作01
表在数据库中主要用来实现存储数据记录,其基本操作包括创建表.查看表.删除表和修改表. 表中的数据库对象包括: 1.列(COLUMNS):也称属性列,在具体创建表时,必须指定列的名字和它的数据类型. 2 ...
- Mysql数据库常用操作语句大全
零.用户管理: 1.新建用户: >CREATE USER name IDENTIFIED BY 'ssapdrow'; 2.更改密码: >SET PASSWORD FOR name=PAS ...
- 浅谈“Mysql”的基础操作语句
/*-------------------------------------------读者可以补充内容到下面-------------------------------------------- ...
- MySQL:表的操作 知识点难点总结:表完整性约束及其他常用知识点二次总结🙄
表操作 一 : 修改表表表表表表表表表: ALTER TABLE 语法 1. 改表名rename alter table 表名 rename 新表名 2. 增加字段add alter table 表名 ...
- MySQL表的操作02
[1]设置非空约束(NOT NULL ,NK)--->>>目的是f防止某些字段中的内容为空 CREATE TABLE +table_name ( 属性名 数据类型 NOT N ...
随机推荐
- DOC命令和批处理命令
本文章以极简的方式展现,相信能够浏览到这篇文章的人都对批命令有了一定的了解,我不会把文章写的长篇大论 重要!!! (命令/?)查看帮助文档 (命令/help)查看详细帮助文档 附:思维导图 批处理编程 ...
- 11204备库升级PSU
某系统PSU为11.2.0.4.190115,备库打补丁20年10月份(31537677)由readme可知:1.要求OPatch要求为11.2.0.3.23或之后的版本.2.非rac环境打补丁需要关 ...
- NLP与深度学习(六)BERT模型的使用
1. 预训练的BERT模型 从头开始训练一个BERT模型是一个成本非常高的工作,所以现在一般是直接去下载已经预训练好的BERT模型.结合迁移学习,实现所要完成的NLP任务.谷歌在github上已经开放 ...
- t-SNE 从入门到放弃
t-SNE 算法 1 前言 t-SNE 即 t-distributed stochastic neighbor embedding 是一种用于降维的机器学习算法,在 2008 年由 Laurens v ...
- Unity——计时器功能实现
Unity计时器 Demo展示 介绍 游戏中有非常多的计时功能,比如:各种cd,以及需要延时调用的方法: 一般实现有一下几种方式: 1.手动计时 float persistTime = 10f flo ...
- 如何获取ISO8601定义的Work Week
工作中遇到一个需求,需要在打印标签的时候打印生产当天的工作周.工作周按照ISO-8601定义的标准计算.找到两种方案. Excel函数 C#代码 Excel函数 非常简单,调用一个Excel自带函数就 ...
- [no_code][Beta]事后分析
设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们要解决的目前的手写表单的电子化问题,办公电子化问题的一个key问题.定义十分清楚: 输入: 手写表单 ...
- Gitlab Burndown Chart
一.说明 通过调用gitlab api直接获取相应project的所有issues,然后对其进行统计以制作燃尽图 二.方法 1.生成 Personal access token Gitlab > ...
- 【技术博客】利用handler实现线程之间的消息传递
[技术博客]利用handler实现线程之间的消息传递 一.handler简介 在Android Studio的开发中,经常需要启动多个线程.比如向远程发送请求时,必须新开一个子线程,否则会造成程序崩溃 ...
- (三)、Docker常用基础命令
1.Docker 帮助命令 帮助命令: docker version 查看版本 docker info 查询docker详细信息 docker --help 查看命令帮助 2.Docker 镜像命令 ...