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 ...
随机推荐
- Docker系列(12)- 部署Tomcat
#官方的使用:我们之前的启动都是后台,停止容器后,容器还是可以看到#docker run -it --rm,一般用来测试,用完就会删除容器,镜像还在[root@localhost ~]# docker ...
- vector 的交换技巧
面试被问到如何解决 vector 有过多空闲内存的问题. 假定先有一 vector 容器 vec,它的容量是 10000,大小是 3. vector 的内存增长问题 vector 申请的是连续内存空间 ...
- mac上通过git推送时忽略node_modules文件夹
node_modules出现改动一般不需要通过git推送,如果不忽略node_modules每次安装新的包会出现几千条新变动,并没有必要推送 1.通过终端进入项目根目录 创建 .gitignore 文 ...
- CSS 奇技淫巧 | 妙用 drop-shadow 实现线条光影效果
本文将介绍一种利用 CSS 滤镜 filter 的 drop-shadow(),实现对 HTML 元素及 SVG 元素的部分添加阴影效果,以实现一种酷炫的光影效果,用于各种不同的场景之中.通过本文,你 ...
- CEF使用过程问题合集
CEF使用过程问题合集 1.Couldn't mmap icu data file 解决方案:检查程序执行目录下是否有icudtl.dat文件,如果没有请从cef的Resources文件夹中复制一份. ...
- 干货分享之Spring框架源码解析01-(xml配置解析)
记录并分享一下本人学习spring源码的过程,有什么问题或者补充会持续更新.欢迎大家指正! 环境: spring5.X + idea Spring 是一个工厂,是一个负责对象的创建和维护的工厂.它给我 ...
- Ysoserial Commons Collections7分析
Ysoserial Commons Collections7分析 写在前面 CommonsCollections Gadget Chains CommonsCollection Version JDK ...
- 新產品SWOT分析實例
推出新产品需要解决四个行销支柱: 价格 产品 促销 销售地点 要分析这些方面,请检查您的优势.劣势.机会和威胁,以帮助您在运行第一个广告或举行第一次促销之前将风险降至最低,并最大限度地利用资源.SWO ...
- BUAA 软工 个人博客作业(一)
项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人博客作业 我在这个课程的目标是 通过阅读<构建之法>大致了解软件工程 这个作业在哪 ...
- 期望dp好题选做
前言: 最近连考两场期望dp的题目,sir说十分板子的题目我竟然一点也不会,而且讲过以后也觉得很不可改.于是开个坑. 1.晚测10 T2 大佬(kat) 明明有\(O(mlog)\)的写法,但是\(m ...