对表格的操作无非就是
1.创建表
2.更新内容
3.增加内容
4.删除内容
5.修改列,增加一个列,删除一个列,修改一个列的属性。
**
1.创建一张表
**
创建一张表
#创建表的时候写注释
CREATE TABLE userinfo(
id INT COMMENT '编号',
uname VARCHAR(40) COMMENT '用户名',
address VARCHAR(120) COMMENT '家庭住址',
hobby VARCHAR(200) COMMENT '爱好'
)COMMENT = '用户信息表';
#修改表的注释
ALTER TABLE userinfo COMMENT '用户信息资料表';
#修改字段的注释,注意:字段名和字段类型照写就行
ALTER TABLE userinfo MODIFY COLUMN uname VARCHAR(40) COMMENT '姓名';
#查看表注释的方法,在生成的SQL语句中看
SHOW CREATE TABLE userinfo;
#在元数据的表里面看
USE information_schema;
SELECT * FROM TABLES WHERE TABLE_SCHEMA='shoppingcart' AND TABLE_NAME='userinfo';
#查看字段注释的方法
SHOW FULL COLUMNS FROM userinfo;
#在元数据的表里面看
SELECT * FROM COLUMNS WHERE TABLE_SCHEMA='shoppingcart' AND TABLE_NAME='userinfo';
给表加一些注释。
CREATE TABLE admin(
id int(4) not NUll auto_increment, -- 设置一下自增长,只有主键可以自增长
username VARCHAR(24) NOT NULL,
age int(2),
classes VARCHAR(100),
PRIMARY KEY(id) -- 设置一下,我们这个是住建
)
给表增加一个列
记得可以后面加一个default()默认给一些操作是比较好。额
表格最后还可以加一个comment给表一个备注
ALTER TABLE admin ADD COLUMN sm VARCHAR(10) PRIMARY KEY -- 增加一个列
修改表的格式和字段
ALTER TABLE admin MODIFY COLUMN sex int(10) -- 修改一个列的属性
modify代表的是,修改一些属性,就是我们常说的小改。
change代表进行大的修改,就是大改。
删除一个字段。
删除一个到多个字段,就是drop。
**
修改列的类型或者约束
**
修改一个列的类型
记住,删除列和删除行,本身是不一样的!!!!
删除行,本身对表的整体架构,没有任何影响,就像一只部队
从军区到军到师团营排连,每一套班子,都是这只部队的整体架子,架子,而每个位置上的人都是部队的内容,撤换一个人,或者几个人都是小事,都是没改变整体架构的小时,真正的大事是对整体架构动手的时候。
主键不许为空,建立一张表,主键非空。
给一个表格插入数据
insert into 表名字
这样实际上是一口气插入的意思,但是我们工作时候并不是一口气插入,而是分开插入
insert into 表名 set 字段 = ?,字段 = ?
或者insert into 表名 values(…),(…),(…)一口气插入一大堆。
或者我们只是插入一部分
修改表
修改更新表,一般都是要加限定条件,不然会修改太多了
删除一个外连接的表
多表就是,本质就是,我要和别的表连接到一起之后,才能知道,我这个表中数据是不是需要被删除。根据和别人的表进行拼接之后,我才能知道这个数据是不是需要被删除。
两个情况:
1.在连接后,我只需要删除一个表的数据
2.在连接之后需要删除两个表的数据
就像,共产党部队铲除内奸一样,需要分别属于两个部门的两个人进行对峙,看情况可能两个人都需要被铲除。
我们在多个表拼接,删除一个信息的时候,也是需要经常性判断,是删除两个表的信息,还是只删除一个表的信息,都是有可能的。
联合表删除
联表删除
1、从数据表t1 中把那些id值在数据表t2 里有匹配的记录全删除掉
DELETE t1 FROM t1,t2 WHERE t1.id=t2.id 或
DELETE FROM t1 USING t1,t2 WHERE t1.id=t2.id
2、从数据表t1里在数据表t2里没有匹配的记录查找出来并删除掉
DELETE t1 FROM t1 LEFT JOIN T2 ON t1.id=t2.id WHERE t2.id IS NULL 或
DELETE FROM t1,USING t1 LEFT JOIN T2 ON t1.id=t2.id WHERE t2.id IS NULL
3、从两个表中找出相同记录的数据并把两个表中的数据都删除掉
DELETE t1,t2 from t1 LEFT JOIN t2 ON t1.id=t2.id WHERE t1.id=25
注意此处的delete t1,t2 from 中的t1,t2不能是别名
如:delete t1,t2 from table_name as t1 left join table2_name as t2 on t1.id=t2.id where table_name.id=25 在数据里面执行是错误的(MYSQL 版本不小于5.0在5.0中是可以的)
delete table_name,table2_name from table_name as t1 left join table2_name as t2 on t1.id=t2.id where table_name.id=25 在数据里面执行是错误的(MYSQL 版本小于5.0在5.0中是可以的)
删除一个表的数据
直接删除一个普通表中的数据
DELETE FROM 表名 WHERE 字段1 = ‘’ and 字段2 = ‘’ and …
复制一张表
复制表中的一部分数据。