频道栏目
首页 > 资讯 > MySQL > 正文

MySQL——表数据(增/删/改)、表结构(字段)(增/删/改)、表的复制、now()方法

18-03-22        来源:[db:作者]  
收藏   我要投稿

目录

1、增\删\改——表结构DDL(alter add、alter modify、alter drop)————字段操作
2、增\删\改——表数据DML(insert、delete、update)————表中数据
3、获取系统当前时间 now()
4、表的复制(快速创建表,并插入数据)

对如下表操作

    mysql> desc t_user;
    +-------+-------------+------+-----+---------+-------+
    | Field | Type        | Null | Key | Default | Extra |
    +-------+-------------+------+-----+---------+-------+
    | tno   | int(10)     | YES  |     | NULL    |       |
    | tname | varchar(32) | YES  |     | NULL    |       |
    | tsex  | char(1)     | YES  |     | m       |       |
    +-------+-------------+------+-----+---------+-------+

一、增\删\改——表结构DDL(alter add、alter modify、alter drop)

1、增

给t_user表添加一个联系电话字段tel

mysql> alter table t_user add tel varchar(10);

2、改

给t_user表中的tel字段长度扩展到20个长度

mysql> alter table t_user modify tel varchar(20);

3、删

将t_user表中的tel字段删除

mysql> alter table t_user drop tel;

二、增\删\改——表数据DML(insert、delete、update)

1、插入数据insert

insert语句语法格式(字段和值必须一一对应,个数相同,数据类型相同)

insert into tablename(columname1,columname2..) values(value1,value2..);

向t_user表中插入数据

mysql> insert into t_user(tno,tname,tsex) values(1,'xlj','m');
Query OK, 1 row affected (0.00 sec)

mysql> select * from t_user;
+------+-------+------+
| tno  | tname | tsex |
+------+-------+------+
|    1 | xlj   | m    |
+------+-------+------+
1 row in set (0.00 sec)

将查询结果插入到某张表中

insert into emp_bak select * from emp where sal=3000;

注意:若插入数据的时候没有给字段指定任何数据,默认插入null

(*)insert语句中字段名称可以省略嘛?

可以!(但如果省略字段名,values必须含有所有字段的值)

 mysql> insert into t_user values(2,'jay','m');
建议:不要将前面的字段省略,如果省略则表示将表中所有的字段全部加上,省略之后程序不健壮,无法修改表结构,修改表结构可能导致insert执行失败

插入中文——因为cmd命令下是gbk编码,而数据库是utf8,所以建议安装MySQL-front(当然办法还有很多的)


2、修改数据update

update语句的语法格式
update tablename set 字段名=字段值,字段名=字段值 where 条件; 注意:update语句没有条件的话,会将一张表的全部数据都更新

- 将tno=2的记录tname改为carry

    mysql> update t_user set tname='carry' where tno=2;
    Query OK, 1 row affected (0.04 sec)
    Rows matched: 1  Changed: 1  Warnings: 0

    mysql> select * from t_user;
    +------+-------+------+
    | tno  | tname | tsex |
    +------+-------+------+
    |    1 | xlj   | m    |
    |    2 | carry | m    |
    +------+-------+------+
    2 rows in set (0.00 sec)

3、删除数据delete

delete语句的语法格式

delete from tablename where 条件; 注意:若没有条件限制,这张表的所以记录全部删除

删除tno=2的学生

mysql> delete from t_user where tno=2;
Query OK, 1 row affected (0.07 sec)

mysql> select * from t_user;
+------+-------+------+
| tno  | tname | tsex |
+------+-------+------+
|    1 | xlj   | m    |
+------+-------+------+
1 row in set (0.00 sec)

三、获取系统当前时间 now();

mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2018-03-21 21:01:45 |
+---------------------+
1 row in set (0.05 sec)

四、表的复制(快速创建表,并插入数据)

语法结构(将查询结果当做一张表创建)

- create table tablename as select columname... from tablename_o;

1、整表复制

mysql> create table t_user1 as select * from t_user;

mysql> select * from t_user1;
+------+-------+------+
| tno  | tname | tsex |
+------+-------+------+
|    1 | xlj   | m    |
+------+-------+------+
1 row in set (0.00 sec)

2、部分字段复制

mysql> create table t_user2 as select tno,tname from t_user;

mysql> select * from t_user2;
+------+-------+
| tno  | tname |
+------+-------+
|    1 | xlj   |
+------+-------+
1 row in set (0.00 sec)

相关TAG标签
上一篇:数据库的内外连接
下一篇:代码分享:用Python编写的多协议弱密码审计工具集
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站