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 ...
随机推荐
- 华为云计算IE面试笔记-桌面云用户登录连接流程及故障处理?
1-10:桌面与系统验证成功 http协议 11-19:桌面list(VM列表)获取,选择 http协议 20-30: ...
- Django边学边记—模板
功能 产生html,且不仅仅是一个html 包含: 静态内容:html,css,js 动态内容:模板语言 使用 一般使用 Django中提供的简写函数render调用模板 render(request ...
- 解决samba和SELINUX 冲突
在使用Samba进行建立Window与Linux共享时,要是不能访问,出现"您可能没有权限使用网络资源", 那就是SELinux在作怪了 要是想让共享目录能访问,可以使用命令 #s ...
- HDFS 10 - HDFS 的联邦机制(Federation 机制)
目录 1 - 为什么需要联邦 2 - Federation 架构设计 3 HDFS Federation 的不足 版权声明 1 - 为什么需要联邦 单 NameNode 的架构存在的问题:当集群中数据 ...
- HTML选择器的权重(优先级)
选择器的优先级主要用于样式发生冲突的情况下 选择器范围越小,优先级越高 行内样式>id选择器>类选择器>标签选择器>通用选择器 这里涉及一个权重值的问题,权重值越高,优先级越大 ...
- NLP与深度学习(六)BERT模型的使用
1. 预训练的BERT模型 从头开始训练一个BERT模型是一个成本非常高的工作,所以现在一般是直接去下载已经预训练好的BERT模型.结合迁移学习,实现所要完成的NLP任务.谷歌在github上已经开放 ...
- 《手把手教你》系列技巧篇(二十九)-java+ selenium自动化测试- Actions的相关操作上篇(详解教程)
1.简介 有些测试场景或者事件,Selenium根本就没有直接提供方法去操作,而且也不可能把各种测试场景都全面覆盖提供方法去操作.比如:就像鼠标悬停,一般测试场景鼠标悬停分两种常见,一种是鼠标悬停在某 ...
- 超详细的Eureka源码解析
Eureka简介 Eureka是什么? Eureka是基于REST(Representational State Transfer)服务,主要以AWS云服务为支撑,提供服务发现并实现负载均衡和故障转移 ...
- 分片利器 AutoTable:为用户带来「管家式」分片配置体验
在<DistSQL:像数据库一样使用 Apache ShardingSphere>一文中,Committer 孟浩然为大家介绍了 DistSQL 的设计初衷和语法体系,并通过实战操作展示了 ...
- 前段之BOM ----DOM
一.介绍 BOM(Browser Object Model)是指浏览器对象模型,它使 JavaScript 有能力与浏览器进行"对话". DOM (Document Object ...