sql表的相关操作

创建数据表及内容格式(表名区分大小写)

create table t1(id int, name varchar(20));
#创建表后,数据表中会多两个文件,(table名)t1.frm,存放表结构(frame),t1.abd存放表索引和数据,以为使用的时innodb data存储引擎(软件,用来存取数据,在内存和磁盘之间)
#varchar表示字符数据,但是VARCHAR可以保存可变长度的字符串,后面(20)是代表字符串的长度
MariaDB [sanchaung]> create table t2 (id int ,name varchar(20)) engine=myisam;
#指定引擎
[root@localhost sanchaung]# ls
t2.frm  t2.MYD  t2.MYI
#frm存放表结构
#MYD存放数据 data myisam
#MYI存放索引 index
​
#创建临时表,show tables不会显示
create temporary table sanchaung(id int);
#查询临时表
select * from sanchuang;
#插入数据
insert into sanchuang(id) calues(1),(2),(3)

临时表的特点

show tables是看不到的,只能当前的终端用户可以使用,其它的终端用户不能看到,Mysql给每个登陆的用户创建了一个session,临时表是隔离的,当用户退出mysql时临时表会被删除,临时表一般都是放在内存里面。

innodb存储引擎的特点:支持事物,支持行级别的锁(一行一行的锁),支持外键

 

根据已有的表创建新表

 

MariaDB [mysql]> create table sancahung.user like mysql.user;
#根据mysql的user表新建sancahung的user表,有框架,没有内容
​
MariaDB [mysql]> create table user2 as select user,host from mysql.user;
MariaDB [mysql]> select * from user2;
+-------+-----------------------+
| user  | host                  |
+-------+-----------------------+
| ;oijc | %                     |
| lhc   | %                     |
| liuhc | %                     |
| yxc   | %                     |
| root  | 127.0.0.1             |
| root  | ::1                   |
|       | localhost             |
| root  | localhost             |
|       | localhost.localdomain |
| root  | localhost.localdomain |
+-------+-----------------------+
#根据已有的表创建新表,可以指定字段保存表里面的哪些内容

显示数据表

MariaDB [sanchaung]> show tables;

数据表插入内容

MariaDB [song]> insert into t8(id,salary,name) values(123,200000.2,'cali');
Query OK, 1 row affected (0.03 sec)
​
MariaDB [song]> select * from t8;
+------+-----------+------+
| id   | salary    | name |
+------+-----------+------+
|  123 | 200000.20 | cali |
+------+-----------+------+

查看数据表的内容

MariaDB [song]> select * from t6;
+------+-----------+
| id   | salary    |
+------+-----------+
|    1 | 200000.12 |
+------+-----------+

查看数据表的内容格式(列名不区分大小写)

MariaDB [sanchaung]> desc t1;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES  |     | NULL    |       |
| name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+

统计表内数据大小

MariaDB [song]> select id,salary,length(name),char_length(name) from t8;
+------+-----------+--------------+-------------------+
| id   | salary    | length(name) | char_length(name) |
+------+-----------+--------------+-------------------+
|  123 | 200000.20 |            4 |                 4 |
+------+-----------+--------------+-------------------+
#length 是在内存中占几个字节
#char_length 是有多少个字符

 

统计表内列字段的包含内容的数量count

#格式 select count(字段名) from 表名;
select count(id) from sc;
#查看sc表的id列有多少个数据
select count(*) from sc:
#统计sc表中有多少行

统计表内列字段内容的总和sum

#格式 select sum(字段名) from 表名;
select sum(amount) from pen;
#查看pen表中amount字段这一列数据的总和

统计表内列字段内容的平均avg

删除表

drop table 表名 

删除表中的行

delete from 表名 where 字段名=要删除的字段

delete和truncate 的区别?

  1. delete删除表里的数据的时候是一行一行的删除,删除后会产生二进制日志,可以根据日志恢复。

  2. truncate删除数据特别快,整个表锁定操作然后删除,不会记录二进制日志,不能恢复,一般用来删大表

  3.  

查看警告信息

show warnings;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值