(3)SQL 表

表的相关数据 属于 DDL

创建数据库

create database 数据库名 character set utf8;

修改数据库

alter database 数据库名 character set gdk;

创建表

先进入数据库中

CREATE TABLE 表名(
	列名1	列的类型	 [约束],
	列名2	列的类型	 [约束],
	...
	列名n	列的类型	 [约束]
);    #注意分号

在这里插入图片描述
举例:

CREATE TABLE student(
	id bigint,
	stu_name VARCHAR(50),
	stu_age INT
);

表中添加列

ALTER TABLE 表名 ADD 列名 数据类型;

ALTER TABLE student ADD stu_gender TINYINT;

修改一个表的字段类型(修改列的数据类型)

ALTER TABLE 表名 MODIFY 字段名 数据类型;

ALTER TABLE student MODIFY stu_name VARCHAR(30);

修改表名

RENAME TABLE 原始表名 TO 要修改的表名;

修改表的字符集

ALTER TABLE 表明 CHARACTER SET 字符集名称;

以下属于DML

修改表的列名

ALTER TABLE 表名 CHANGE 原始列名 新列名 数据类型;

查看表结构

DESC 表名;
在这里插入图片描述

查看表的创建细节

SHOW CREATE TABLE 表名;

删除一列

ALTER TABLE 表名 DROP 字段名(列名);

删除表

DROP TABLE 表名;

插入操作

INSERT INTO 表名 (列名1,列名2,...) VALUE(列值1,列值2,...);
注意

  1. 列名与列值得类型,个数,顺序要一一对应
  2. 值不要超出列定义的长度
  3. 插入的日期和字符一样,都实用引号括起来
INSERT INTO student(id,stu_name,stu_age) VALUE(1,'张三',10);

批量插入 (注意用==VALUES)

INSERT INTO student(id,stu_name,stu_age) VALUES(2,'李四',20),(3,'qq',30);

当列名 不指定时,默认所有的列

INSERT INTO student VALUE(4,'王五',50);

查询表中的所有数据

SELECT * from 表名;

查询指定内容所在行内容

select * from student where id=3;

更新表中行的内容

UPDATE 表名 SET 列名1=列值1,列名2=列值2...WHERE 列名=值
整列分数全部改为90

UPDATE student set stu_score=90;

指定的人的分数改为60

UPDATE student set stu_score=60 WHERE stu_name='张三';

指定的人 改变分数70和年龄100

UPDATE student set stu_age=100,stu_score=70 WHERE stu_name='李四';

指定的人 年龄更改成 原有年龄+1

UPDATE student SET stu_age=stu_age+1 WHERE stu_name='李四';

删除表中的行

DELETE FROM 表名 WHERE 列名=值
删除指定条件 的行,虽说数据被删除,但记录还是保存着,新增数据会从 5开始 (1235)

DELETE FROM student WHERE id=4;

删除表中全部 行, DELETE删除表中的数据,表结构还在

DELETE FROM student;

删除表中全部 行,但不能指定条件 TRUNCATE删除是把表直接DROP掉,然后在创建一个同样的表,执行速度比 DELETE快

TRUNCATE TABLE student;

跨数据库复制表

前提没有表,先创建表
1.表结构相同的表,且在同一数据库(如,table1,table2)

insert into table1 select * from table2 (完全复制) 

insert into table1 select distinct * from table2(不复制重复纪录) 

insert into table1 select top 5 * from table2 (前五条纪录) 

2.表不在同一数据库中(如,db1 table1,db2 table2)

insert into db1.table1 select * from db2.table2 (完全复制) 

insert into db1.table1 select distinct * from db2.table2(不复制重复纪录) 

insert into tdb1.able1 select top 5 * from   db2.table2 (前五条纪录) 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值