表
创建数据表及内容格式(表名区分大小写)
- 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 的区别?
delete删除表里的数据的时候是一行一行的删除,删除后会产生二进制日志,可以根据日志恢复。
truncate删除数据特别快,整个表锁定操作然后删除,不会记录二进制日志,不能恢复,一般用来删大表

查看警告信息
show warnings;