1.主键约束
特点非空,只用于表示当前的记录。
设置主键:create table 表名(sid int primary key);
删除主键:alter table 表名 drop primary key ;
主键自动增长:主键字段后加 auto_increment ,只适用于masql
/*加了auto_increment之后如何删除主键
mysql> alter table user modify uid smallint not null;
Query OK, 0 rows affected (0.03 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> show columns from user; //显示所有行信息
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| uid | smallint(6) | NO | PRI | NULL | |
| uage | int(11) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.01 sec)
*/
2.常见的表操作
查看数据库中的所有的表: show table;
查看表的结构:desc 表名;
删除表:drop table 表名;
3.修改表的结构
添加列: alter table 表名 add 列名 类型(长度)约束;
修改列类型: alter table 表名 modify 列名 类型(长度);
修改列名: alter table 表名 change 旧列名 新列名 类型();
删除列: alter table 表名 drop 列名;
修改表名: rename table 表名 to 新表名;
修改表的字符集:alter table 表名 character set 字符集;
4.数据表添加数据
向数据表插入数据: insert into 表名(列名1,列名2,......)values(值1,值2,......);
添加数据,不考虑主键: insert into表名 values(值);/*值的个数和类型必须和表里的相同*/
5.更新数据
update 表名 set 字段名 = 值,字段名 = 值;(该字段下所有的值全部被修改)
update 表名 set 字段名 = 值, where 条件;
6.删除数据
删除数据:Delete from 表名 where 条件;
例:删除sname等于11sort中的数据 delete from sort where sname=11;
表数据清空:delete from 表名 ;
7.解决不能插入中文数据的问题
set names gbk;
注意:只对当前的操作有效,关闭命令行,这种设置无效。