您的位置:首页 > 数据库 > MySQL

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

2018-03-21 21:10 681 查看

博客目录

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)


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

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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: