mysql学习记录
Posted 中简半
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql学习记录相关的知识,希望对你有一定的参考价值。
在mysql中
1.查看表的基本结构:
describe 表名;
desc 表名;
desc tb_tmp;
查看表的结构
2.查看表详细结构
show create table 表名;
show create table tb_tmp;
eg:
create table \'tb_tmp\' (
\'prod_id\' varchar(20) not null,
\'prod_name\' varchar(33) not null,
\'prod_price\' varchar(20) not null,
primary key (\'prod_id\')
) engine = innoDB
如果使用上面命令后排版比较乱,在最后添加 \\G
eg : show create table tb_tmp\\G;
3.修改表名
语法规则:alter table 旧表名 rename 新表名;
4.修改某个表的某个字段名(属性名字)
语法规则:alter table 表名 change 旧字段名 新字段名 新数据类型;
eg :现在我们要把表Mall_products
中的字段prod_id
改名为ID
ALTER TABLE Mall_products CHANGE prod_id ID varchar(20);
小提示: 如果不需要修改字段的数据类型,可以把新字段的数据类型设置为和原来一样,但是!千万不要空着它!
5.修改字段数据类型
语法规则为: ALTER TABLE 表名 MODIFY 字段名 数据类型;
eg:现在我们要把表Mall_products
中的字段ID
的数据类型改为varchar(30)。
ALTER TABLE Mall_products MODIFY ID varchar(30);
ID
的数据类型varchar(20)
成功变成了varchar(30)
6.添加字段
语法规则为: ALTER TABLE 表名 ADD 新字段名 数据类型 [约束条件] [FIRST|AFTER] 已存在字段名; 。
eg:在表的最后一列添加字段
ALTER TABLE Mall_products ADD prod_country varchar(30);
将字段prod_country
添加到表Mall_products
的最后一列
eg: 在表的第一列添加字段
ALTER TABLE Mall_products ADD prod_country varchar(30) FIRST;
将字段prod_country
添加到表Mall_products
的第一列
eg: 在表的指定列后添加字段
ALTER TABLE Mall_products ADD prod_country varchar(30) AFTER prod_name;
将字段prod_country
添加到表Mall_products
的 prod_name
字段的后面。
7.删除字段
删除一个字段就是将数据表中的某个字段从表中移除
语法规则为: ALTER TABLE 表名 DROP 字段名;
eg: ALTER TABLE Mall_products DROP prod_price;
将字段prod_price
从表Mall_products
中删除
8.修改字段的排列位置
我们可以通过ALTER TABLE
来改变表中字段的相对位置
语法规则为: ALTER TABLE 表名 MODIFY 字段1 数据类型 FIRST|AFTER 字段2;
其中,字段1
指要修改位置的字段,FIRST
与AFTER 字段2
为可选参数
修改字段为表的第一个字段
eg: ALTER TABLE Mall_products MODIFY prod_price FLOAT FIRST;
将字段prod_price
调整到表Mall_products
的第一列
eg:
修改字段到表的指定列之后
eg:ALTER TABLE Mall_products MODIFY prod_price FLOAT AFTER prod_country;
将字段prod_price
调整到字段prod_country
的后面
9.删除表的外键约束
建立了外键我们就建立起了两张表的关联关系,为了确保数据库的正确性,我们必须先解除两个表之间的关联关系,那就是删除外键约束。
语法规则为: ALTER TABLE 表名 DROP FOREIGN KEY 外键约束名;
10.在表中插入数据
向表中插入数据最简单的方法就是使用INSERT
语句。INSERT
语句需要你声明要插入内容的表(table)
名和内容(values)
。
语法规则为: `INSERT INTO 表名 (字段名) VALUES (内容);`
eg:新建一个空表
然后在表中添加数据
接下来,我们要往空表中插入一条内容,插入(INSERT)
语句为:
INSERT INTO Mall_products2 ( id, country_name, country_id ) VALUES ( 1, \'Span\', 34 );
结果为:
在插入数据时,我们指定了所有的字段名,这样的好处是:即使我们打乱了原本字段的排列顺序,只要插入的数据与之匹配,插入都不会出错。其实,还有一种偷懒的办法,就是我们可以不填字段名,但是这样的话,就必须老老实实的按字段顺序来填入相应的数据。
为表的指定字段插入数据
有的时候,我们并不想往某个字段内插入完完整整的值,或者说,有的时候我们并没有完整的数据可以整整齐齐插入某个字段。这时候就需要我们只为指定好的字段插入数据了,其他的我们都不用管。换句话说,就是:
为表的指定字段插入数据,就是在INSERT
中只向部分插入值,而其他字段的值为表定义时的默认值。
INSERT INTO Mall_products2 ( id, country_id ) VALUES ( 1, 86 );
为表同时插入多条记录
语法规则为: INSERT INTO 表名 (字段名) VALUES (内容1), (内容2), (内容3);
eg:
还是那张空表Mall_products2
,我们要为它同时插入3
条数据内容。
INSERT INTO Mall_products2 (id,country_id) VALUES (1,86), (2, 34), (3,39);
结果为
11.更新表中指定的内容
-
需要更新的
表(table)名
; -
需要更新的
字段(column)名
和它的新内容(value)
; -
决定更新
哪一条内容(value)
的过滤条件
语法规则为: UPDATE 表名 SET 字段名1 = 内容1, 字段名2 = 内容2, 字段名3 = 内容3 WHERE 过滤条件;
现在我们想把Span
换成Pakistan
,当然,地区代码也要换为92
UPDATE Mall_products2 SET country_name = "Pakistan", country_id = 92 WHERE id = 2;
12.删除数据
删除表中的指定行
从数据表中删除数据内容需要使用DELETE
语句,它需要WHERE
语句来配合它来指定我们究竟应该删除哪些数据内容
语法规则为: DELETE FROM 表名 WHERE 条件语句;
删除表中的所有行
语法规则为: DELETE FROM 表名;
小提示: TRUNCATE TABLE 语句也可以用来删除表中的所有记录。但是与 DELETE 不同的是,TRUNCATE TABLE 语句直接删除的是表,而不是表中的内容,删除结束后还会重新创建一个表。所以它的执行速度会比 DELETE 语句快。 语法为:`TRUNCATE TABLE 表名;`
以上是关于mysql学习记录的主要内容,如果未能解决你的问题,请参考以下文章