表操作
一、创建表
create table 表名(name char(30),id int primary key auto_increment);
表名后使用 圆括号去写表中的数据结构
每个字段用 , 隔开
字段声明的格式: 字段名 字段类型
每个表中都必须包含一个 主键。主键是唯一的。主键通常是int类型,在被当做主键的字段后面加 primary key
主键通常是自增长的:auto_increment,mysql可以自动地为每个行分配下一个编号,不用在添加的时候手动的去分配这个唯一值(记住最后一次使用的值)。这就是自增。如果需要它,必须在create语句创建表时把它作为表定义的组成部分。
二、 数据类型
tinyint 一般用来存年龄之类的小的整数。其他用int
char 和varchar的区别:
使用char传入的数据的长度,小于指定的长度的时候,存储的实际长度,不够的会拿空格来填充
使用varchar传入的数据的长度,小于指定的长度的时候,存储的实际长度 为传进来的数据长度
char的执行效率高于varchar varchar相对于char来说更节省存储空间。
varchar类型在5.0以下的版本中最大长度限制为255.而5.0之上的,varchar数据类型的长度支持到了65525字节.
知道固定长度的用char
超过255字符的时候只能用varchar 或者text,能用varchar的时候就不用text
文本的比较相同的规则:首先比较的是长度,之后才是按位比较。
三、插入操作
insert into 语句用于向表中插入一行数据
语法:
insert into 表名 values (值1,值2.。。。。)
我们也可以指定所要插入的列
insert into 表名(列1,列2。。。。)values (值1,值2,。。。。)
不管使用哪种insert语法,都必须给出values的正确数目。
如果不提供列名,则必须给每个列提供一个默认值。
如果提供列名,则必须对每个列出的列给一个值,否则报错。
省略列:
1、在表定义中给出默认值
2、该列定义为允许NULL值
insert into student VALUES(1,'green',18,1,1)
insert into grade(g_name,g_student_num) values ('高三十班',55);
可以在insert 和 into 之间添加一个关键字:low_priority,指示MySQL降低insert的优先级
多条插入
单条insert语句有多组值,每组值用一对圆括号括起来。用逗号分隔。以提高数据库性能,因为MySQL用单条insert语句处理多个插入 比 使用多条insert语句块。
修改数据
使用 update 修改表中的数据:
1、更新表中的特定行
2、更新表中的所有行
update语句有3部分组成,分别是:
要更新的表
列名和他们的新值
确定要更新的过滤条件
语法:update 表名 set 列名称=新的值 where 列名称=某值
set 命令用来将新值赋给被更新的列
修改多个字段的值
只需要使用单个set命令,每个 “列=值”之间用逗号分隔,最后一列不用逗号。
为了删除某个列的值,可设置它为NULL(允许为null)
删除数据
使用delete语句,去删除表中的数据
1、从表中删除特定的行
2、删所有行
3、delete from 表名称 where 列名称 = 就的某个值
delete * from