sql 表,字段(列),表数据(行)相关命令
随便转载,保留出处:http://www.cnblogs.com/aaron-agu/
注: 以下所有操作都在登陆数据库后执行 命令use test; test为数据库名
查看表
show tables;
#如果没有登陆数据库 show tables from test;
新建表
create table student_t(
id int primary key auto_increment, --(设置主键、自增)
student_name varchar(20),
student_brithday datetime,
student_phone int,
student_score float,
) AUTO_INCREMENT = 100 ; --(设置自增ID从100开始)
create table task_check_info(
id int primary key auto_increment,
task_id_id int,
type smallint(6),
intro varchar(255),
status tinyint(1),
foreign key(task_id_id) references task(id) --(外键)
);
student_t 为表名
student_name 第一个字段(列);字段数据类型varchar; primary key(主关键字)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。在两个表的关系中,主关键字用来在一个表中引用来自于另一个表中的特定记录。主关键字是一种唯一关键字,表定义的一部分。一个表不能有多个主关键字,并且主关键字的列不能包含空值。主关键字是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句中定义。
注意:
student_name,student_phone,等字段前最好不要有空格等,不然数据库会把空格加student_name整个作为第一个字段。
修改表名
alter table student_t rename to students;
删除表
drop table students;
查看列数据(各字段的详细属性)
desc students; #已有的属性
show full columns from students; #所有属性
field:字段
type: 格式
collation: (核对)编码格式
null: 是否可以为空
key: 关键字MySQL中有四种Key: Primary Key, Unique Key, Key 和 Foreign Key。
Foreign Key 就是表与表之间的某种约定的关系,由于这种关系的存在,能够让表与表之间的数据,更加的完整,关连性更强。foreign key是一列或多列的组合, 其定义必须和父表的父键保持一致。每一个非空的foreign key都必须在父表的父键里面找到对应的值
剩下的三种都要在原表上建立索引。
Primary Key的提出就是为了唯一标示表中的字段,就像我们的身份证号一样。此外,所有字段都必须是not null。
Unique Key则是为了保证表中有些字段是唯一的。比如有些单位领导叫“张三”,所以下面招人的时候是决不可招一个有同样名字的。
Key其实某个字段标记为Key,是不能保证这个字段的值在表中是唯一出现的。它的目的就是建立索引。
default: 默认值
extra: 额外的
privileges 权限
comment 补充
增加一个字段
alter table students add student_sex char(10) not null after student_name;
alter table students add student_sex char(10) default '' after student_name;
只修改字段的某一属性
alter table students modify column student_name char(30);
修改字段
alter table students change student_name student_N varchar(9) not null;
删除字段
alter table students drop column student_sex;
查看表数据
select * from students; #查看所有字段
select student_name, student_phone from students; #只看两给字段
插入一条数据
insert into students(student_name, student_phone) valus('aaron', 911);
更新一条数据
update students set student_phone=110 where student_name='aaron';
删除一条数据
delete from students where student_name='aaron';
联合查询
SELECT `order`.id, `order`.title, task.id, task.title, task.pretend FROM `order` JOIN task on task.id=`order`.task_id_id WHERE task.pretend>0;
在原字段上追加,联合查询
UPDATE `order` SET `order`.title=concat(`order`.title, '-补贴') where `order`.task_id_id in (select id from task where pretend>0);
修改原字段
UPDATE `order` SET `order`.title=replace(`order`.title, '-补贴-补贴-补贴', '') WHERE `order`.task_id_id in (select id from task where pretend>0);
sql 表,字段(列),表数据(行)相关命令的更多相关文章
- iOS-查询数据库-->指定数据表中的当前数据行的总数量
很多时候,我们在查询一个表的时候,不想得到里面的记录内容,只是想简单的得到符合查询条件的记录条数. FMDB中有一个很简单的方法就可以实现,见下面的代码实例: #import "FMdata ...
- Oracle多用户对一个表进行并发插入数据行操作
oracle数据库支持多用户间同时对同一个表进行操作,但是数据不一定同步,因为oracle数据库是支持脏数据的,比如A用户删除了表的数据但没有提交,B用户也能查询访问到,如果要避免这种情况只能加锁,A ...
- 模拟实现SQL Server字段列显示的数据类型
本文目录列表: 1.SQL Server表设计视图中的数据类型列展示效果 2.模拟实现类似的数据类型显示效果 3.测试效果 4.总结语 5.参考清单列表 1.SQL Server表设计视图中的数据 ...
- 获取oracle 表字段,表名,以及主键之类等等的信息。
获取表名: Oracle的user_talbes用于记录了用户表信息. select * from user_tables 获取某个表的字段: USER_TAB_COLS中记录了用户表的列信息.下 ...
- 获取oracle 表字段,表名,以及主键之类等等的信息
数据库版本号:select * from v$version 数据库名:select * from v$instance 注意: 我在C#项目中查询语句的时候报“ORA-00911: 无效字符” 的错 ...
- redis入门指南(二)—— 数据操作相关命令
写在前面 以下绝大部分内容取材于<redis入门指南>,部分结合个人知识,实践后得出. 只记录重要,明确,属于新知的相关内容,杜绝冗余和重复. 字符串 1.字符串类型是redis中最常见的 ...
- Django命令行相关命令 以及创建一个空白网页的步骤
django相关命令行命令: django.admin.py是Django的一个用于管理任务的命令行工具,manage.py是对django-admin.py的简单包装,每个Django Projec ...
- 『现学现忘』Docker基础 — 30、Docker中数据卷相关命令
目录 1.Volume命令说明 2.Volume命令的使用 (1)创建数据卷 (2)查看本地数据卷列表 (3)打印myVolume数据卷的详细信息 (4)删除数据卷 (5)删除所有未使用的数据卷 3. ...
- C# DataAdapter.Update() 无法更新数据表中删除的数据行
用DataAdapter.Update() 方法更新删除了部分DataRow 的 DataTable .但是数据库中的数据没有随着更新而变化. 原因:DataTable 删除 DataRow 时,使用 ...
- sql 把一列的数据按逗号分隔转换成多行
ALTER proc [dbo].[ModifyWkCashAccountNo]asbeginset xact_abort onbegin transactiondeclare @errors int ...
随机推荐
- <数据结构与算法分析>读书笔记--运行时间中的对数及其分析结果的准确性
分析算法最混乱的方面大概集中在对数上面.我们已经看到,某些分治算法将以O(N log N)时间运行.此外,对数最常出现的规律可概括为下列一般法则: 如果一个算法用常数时间(O(1))将问题的大小削减为 ...
- CVE-2017-5123 分析报告
系统信息 系统:ubuntu 14.04 64位 内核版本:4.13 (KASLR关闭 但是参考文档一中的哥们已经提到如何绕过:利用对非法地址写的保护) 漏洞背景 CVE-2017-5123是一位葡萄 ...
- java 面向对象抽象类和接口
1.abstract:可以修饰类和方法,被abstract修饰过的称为抽象类和抽象方法. 抽象类: 除了不可以创建对象, 其他和普通类一致. 可以有成员方法.静态方法和构造方法(提供给子类调用)等. ...
- Luogu4423 BJWC2011 最小三角形 平面最近点对
传送门 题意:给出$N$个点,求其中周长最小的三角形(共线的也计算在内).$N \leq 2 \times 10^5$ 这道题唤起了我对平面最近点对的依稀记忆 考虑平面最近点对的分治,将分界线两边的求 ...
- 简单的策略模式Strategy演示
策略模式,即规则在变化之中,结果终归为一. 公司给员工计算工资,如有加班费,差旅费,每个月的生活补帖等等其它费用需要计算.这个费的规则是不尽相同. 不管策略的规则怎样,终归需要计算出一个结果 工资: ...
- Ionic App之国际化(3) json数组的处理
接上一篇Ionic App之国际化(2) json数组的处理 之后,如何处理json数据长度的问题,目前的一个折中方法是翻译长度字段. 多语言文件内容: "MyLa": { &qu ...
- [Oracle]快速生成大量模拟数据的方法
快速生成大量模拟数据的方法: create table TEST(id integer, TEST_NUMBER NUMBER(18,6)); insert into TEST select i+j, ...
- $\mathfrak {reputation}$
\(\mathfrak {reputation}\) 举世盛名 身败名裂
- Codeforces 999D Equalize the Remainders (set使用)
题目连接:Equalize the Remainders 题意:n个数字,对m取余有m种情况,使得每种情况的个数都为n/m个(保证n%m=0),最少需要操作多少次? 每次操作可以把某个数字+1.输出最 ...
- Ubuntu轻松编译openJDK
花了三天在windows上搞openJDK,对bash本来就不熟,加上各种莫名依赖和脚本里的bug,身心俱疲.最后make all的时候产生一个莫名其妙的错误说什么有warning且-Werror置为 ...