学习日志————MySQL练习
2016-06-04 16:46
393 查看
create user;
语法:
1> INSERT yourTableName VALUES(columnValue);
实例1:
mysql> use user;
Database changed
mysql> create table user(
id int not null auto_increment primary key,
name varchar(20) not null,
password varchar(20) not null
)DEFAULT CHARSET=utf8;
mysql> insert into user values(1,'zhangsan','1234');
Query OK, 1 row affected (0.09 sec)
mysql> select * from user;
+----+----------+----------+
| id | name | password |
+----+----------+----------+
| 1 | zhangsan | 1234 |
+----+----------+----------+
1 row in set (0.00 sec)
2> INSERT INTO yourTableName [(column [, column...])] VALUES (value [, value...]);
实例2:
mysql> insert into user (name,password) values('lisi','123456');
Query OK, 1 row affected (0.08 sec)
mysql> select * from user;
+----+----------+----------+
| id | name | password |
+----+----------+----------+
| 1 | zhangsan | 1234 |
| 2 | lisi | 123456 |
+----+----------+----------+
2 rows in set (0.00 sec)
mysql> insert into user (name,password) values('wangwu','1111'),('zhaoliu','2222');
Query OK, 2 rows affected (0.09 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> select * from user;
+----+----------+----------+
| id | name | password |
+----+----------+----------+
| 1 | zhangsan | 1234 |
| 2 | lisi | 123456 |
| 3 | wangwu | 1111 |
| 4 | zhaoliu | 2222 |
+----+----------+----------+
4 rows in set (0.00 sec)
4. select: 查寻数据 Query database, get data from database
1> SELECT * FROM yourTableName;
例子:mysql> select * from user;
+----+----------+----------+
| id | name | password |
+----+----------+----------+
| 1 | zhangsan | 1234 |
| 2 | lisi | 123456 |
| 3 | wangwu | 1111 |
| 4 | zhaoliu | 2222 |
+----+----------+----------+
4 rows in set (0.00 sec)
2> SELECT * FROM yourTableName WHERE condition;
例子:mysql> select * from user where id=2;
+----+------+----------+
| id | name | password |
+----+------+----------+
| 2 | lisi | 123456 |
+----+------+----------+
1 row in set (0.06 sec)
3> SELECT columnName [as][别名] FROM yourTableName [as][别名] WHERE [表名.列名]condition;
例子:mysql> select name from user where id =3;
+--------+
| name |
+--------+
| wangwu |
+--------+
1 row in set (0.00 sec)
mysql> select name as '姓名' from user u where u.id = 3;
+--------+
| 姓名 |
+--------+
| wangwu |
+--------+
1 row in set (0.00 sec)
4> SELECT columnName1[as][别名1], columnName2 [as][别名2]FROM yourTableName WHERE [表名.列名]condition;
例子:mysql> select name,password from user where name='wangwu';
+--------+----------+
| name | password |
+--------+----------+
| wangwu | 1111 |
+--------+----------+
1 row in set (0.00 sec)
mysql> select name as '姓名',password '密码' from user as u where u.id=4;
+---------+------+
| 姓名 | 密码 |
+---------+------+
| zhaoliu | 2222 |
+---------+------+
1 row in set (0.00 sec)
5. update: 修改数据 Modifies existing rows in the table.
1> UPDATE yourTableName SET columnName1=columnValue1, columnName2=columnValue2 ; // update all rows
例子:mysql> update user set password='111111';
Query OK, 4 rows affected (0.11 sec)
Rows matched: 4 Changed: 4 Warnings: 0
mysql> select * from user;
+----+----------+----------+
| id | name | password |
+----+----------+----------+
| 1 | zhangsan | 111111 |
| 2 | lisi | 111111 |
| 3 | wangwu | 111111 |
| 4 | zhaoliu | 111111 |
+----+----------+----------+
4 rows in set (0.00 sec)
2> UPDATE yourTableName SET columnName=columnValue WHERE condition;
例子:mysql> update user set password='1234' where id=2;
Query OK, 1 row affected (0.08 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from user;
+----+----------+----------+
| id | name | password |
+----+----------+----------+
| 1 | zhangsan | 111111 |
| 2 | lisi | 1234 |
| 3 | wangwu | 111111 |
| 4 | zhaoliu | 111111 |
+----+----------+----------+
4 rows in set (0.00 sec)
6. delete: 删除数据 Removes existing rows from the table.
1> DELETE FROM yourTableName; //delete all rows
2> DELETE FROM yourTableName WHERE condition;
3> DELETE FROM yourTableName WHERE condition1 AND(OR) condition2;
例子:mysql> delete from user where id=1;
Query OK, 1 row affected (0.06 sec)
mysql> select * from user;
+----+---------+----------+
| id | name | password |
+----+---------+----------+
| 2 | lisi | 1234 |
| 3 | wangwu | 111111 |
| 4 | zhaoliu | 111111 |
+----+---------+----------+
3 rows in set (0.00 sec)
7. alter table: 改变表结构 Add and modify columns, Add or remove constraints, Enable or disable constraints
1> ALTER TABLE yourTableName ADD columnName columnType columnConstraint;
例子:mysql> alter table user add sex char(1) not null;
Query OK, 3 rows affected (0.36 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> desc user;
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | NO | | | |
| password | varchar(20) | NO | | | |
| sex | char(1) | NO | | | |
+----------+-------------+------+-----+---------+----------------+
4 rows in set (0.03 sec)
2> ALTER TABLE yourTableName MODIFY columnName newColumnType newcolumnConstraint;
例子:mysql> alter table user modify sex varchar(2);
Query OK, 3 rows affected (0.28 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> desc user;
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | NO | | | |
| password | varchar(20) | NO | | | |
| sex | varchar(2) | YES | | NULL | |
+----------+-------------+------+-----+---------+----------------+
4 rows in set (0.02 sec)
3> ALTER TABLE yourTableName CHANGE oldcolumnName newColumnName newColumnType newcolumnConstraint;
例子:mysql> alter table user change sex xingbie char(1) not null;
Query OK, 3 rows affected (0.25 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> desc user;
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | NO | | | |
| password | varchar(20) | NO | | | |
| xingbie | char(1) | NO | | | |
+----------+-------------+------+-----+---------+----------------+
4 rows in set (0.02 sec)
4> ALTER TABLE yourTableName ADD [CONSTRAINT constraint] type (column);
例子:mysql> alter table user add constraint unique(name);
Query OK, 3 rows affected (0.25 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> desc user;
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | NO | UNI | | |
| password | varchar(20) | NO | | | |
| xingbie | char(1) | NO | | | |
+----------+-------------+------+-----+---------+----------------+
4 rows in set (0.01 sec)
5> ALTER TABLE yourTableName DROP columnName;
例子:mysql> alter table user drop xingbie;
Query OK, 3 rows affected (0.33 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> desc user;
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | NO | UNI | | |
| password | varchar(20) | NO | | | |
+----------+-------------+------+-----+---------+----------------+
3 rows in set (0.01 sec)
例子: ALTER TABLE passenger ADD CONSTRAINT passenger_flight_fk FOREIGN KEY (flight_id) REFERENCES flight(id);
//!!!!!!!!!!!!!!!!!!Foreign key
例子:
Example1: ALTER TABLE orders ADD CONSTRAINT orders_customer_fk FOREIGN KEY (customer_id) REFERENCES customer(id);
Example2: ALTER TABLE orders ADD FOREIGN KEY (customer_id) REFERENCES customer(id);
8. drop table: 删除表数据及表结构 removes all rows and table structure
DROP TABLE yourTableName;
9. truncate table: 删除表的所有数据 removes all rows
** 与DELETE FROM yourTableName不同的是,把整个表及数据删掉,然后再新建一个表
TRUNCATE TABLE yourTableName;
DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的的删除操作作为事务记录在日志中保存以便进行进行回滚操作。
语法:
1> INSERT yourTableName VALUES(columnValue);
实例1:
mysql> use user;
Database changed
mysql> create table user(
id int not null auto_increment primary key,
name varchar(20) not null,
password varchar(20) not null
)DEFAULT CHARSET=utf8;
mysql> insert into user values(1,'zhangsan','1234');
Query OK, 1 row affected (0.09 sec)
mysql> select * from user;
+----+----------+----------+
| id | name | password |
+----+----------+----------+
| 1 | zhangsan | 1234 |
+----+----------+----------+
1 row in set (0.00 sec)
2> INSERT INTO yourTableName [(column [, column...])] VALUES (value [, value...]);
实例2:
mysql> insert into user (name,password) values('lisi','123456');
Query OK, 1 row affected (0.08 sec)
mysql> select * from user;
+----+----------+----------+
| id | name | password |
+----+----------+----------+
| 1 | zhangsan | 1234 |
| 2 | lisi | 123456 |
+----+----------+----------+
2 rows in set (0.00 sec)
mysql> insert into user (name,password) values('wangwu','1111'),('zhaoliu','2222');
Query OK, 2 rows affected (0.09 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> select * from user;
+----+----------+----------+
| id | name | password |
+----+----------+----------+
| 1 | zhangsan | 1234 |
| 2 | lisi | 123456 |
| 3 | wangwu | 1111 |
| 4 | zhaoliu | 2222 |
+----+----------+----------+
4 rows in set (0.00 sec)
4. select: 查寻数据 Query database, get data from database
1> SELECT * FROM yourTableName;
例子:mysql> select * from user;
+----+----------+----------+
| id | name | password |
+----+----------+----------+
| 1 | zhangsan | 1234 |
| 2 | lisi | 123456 |
| 3 | wangwu | 1111 |
| 4 | zhaoliu | 2222 |
+----+----------+----------+
4 rows in set (0.00 sec)
2> SELECT * FROM yourTableName WHERE condition;
例子:mysql> select * from user where id=2;
+----+------+----------+
| id | name | password |
+----+------+----------+
| 2 | lisi | 123456 |
+----+------+----------+
1 row in set (0.06 sec)
3> SELECT columnName [as][别名] FROM yourTableName [as][别名] WHERE [表名.列名]condition;
例子:mysql> select name from user where id =3;
+--------+
| name |
+--------+
| wangwu |
+--------+
1 row in set (0.00 sec)
mysql> select name as '姓名' from user u where u.id = 3;
+--------+
| 姓名 |
+--------+
| wangwu |
+--------+
1 row in set (0.00 sec)
4> SELECT columnName1[as][别名1], columnName2 [as][别名2]FROM yourTableName WHERE [表名.列名]condition;
例子:mysql> select name,password from user where name='wangwu';
+--------+----------+
| name | password |
+--------+----------+
| wangwu | 1111 |
+--------+----------+
1 row in set (0.00 sec)
mysql> select name as '姓名',password '密码' from user as u where u.id=4;
+---------+------+
| 姓名 | 密码 |
+---------+------+
| zhaoliu | 2222 |
+---------+------+
1 row in set (0.00 sec)
5. update: 修改数据 Modifies existing rows in the table.
1> UPDATE yourTableName SET columnName1=columnValue1, columnName2=columnValue2 ; // update all rows
例子:mysql> update user set password='111111';
Query OK, 4 rows affected (0.11 sec)
Rows matched: 4 Changed: 4 Warnings: 0
mysql> select * from user;
+----+----------+----------+
| id | name | password |
+----+----------+----------+
| 1 | zhangsan | 111111 |
| 2 | lisi | 111111 |
| 3 | wangwu | 111111 |
| 4 | zhaoliu | 111111 |
+----+----------+----------+
4 rows in set (0.00 sec)
2> UPDATE yourTableName SET columnName=columnValue WHERE condition;
例子:mysql> update user set password='1234' where id=2;
Query OK, 1 row affected (0.08 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from user;
+----+----------+----------+
| id | name | password |
+----+----------+----------+
| 1 | zhangsan | 111111 |
| 2 | lisi | 1234 |
| 3 | wangwu | 111111 |
| 4 | zhaoliu | 111111 |
+----+----------+----------+
4 rows in set (0.00 sec)
6. delete: 删除数据 Removes existing rows from the table.
1> DELETE FROM yourTableName; //delete all rows
2> DELETE FROM yourTableName WHERE condition;
3> DELETE FROM yourTableName WHERE condition1 AND(OR) condition2;
例子:mysql> delete from user where id=1;
Query OK, 1 row affected (0.06 sec)
mysql> select * from user;
+----+---------+----------+
| id | name | password |
+----+---------+----------+
| 2 | lisi | 1234 |
| 3 | wangwu | 111111 |
| 4 | zhaoliu | 111111 |
+----+---------+----------+
3 rows in set (0.00 sec)
7. alter table: 改变表结构 Add and modify columns, Add or remove constraints, Enable or disable constraints
1> ALTER TABLE yourTableName ADD columnName columnType columnConstraint;
例子:mysql> alter table user add sex char(1) not null;
Query OK, 3 rows affected (0.36 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> desc user;
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | NO | | | |
| password | varchar(20) | NO | | | |
| sex | char(1) | NO | | | |
+----------+-------------+------+-----+---------+----------------+
4 rows in set (0.03 sec)
2> ALTER TABLE yourTableName MODIFY columnName newColumnType newcolumnConstraint;
例子:mysql> alter table user modify sex varchar(2);
Query OK, 3 rows affected (0.28 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> desc user;
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | NO | | | |
| password | varchar(20) | NO | | | |
| sex | varchar(2) | YES | | NULL | |
+----------+-------------+------+-----+---------+----------------+
4 rows in set (0.02 sec)
3> ALTER TABLE yourTableName CHANGE oldcolumnName newColumnName newColumnType newcolumnConstraint;
例子:mysql> alter table user change sex xingbie char(1) not null;
Query OK, 3 rows affected (0.25 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> desc user;
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | NO | | | |
| password | varchar(20) | NO | | | |
| xingbie | char(1) | NO | | | |
+----------+-------------+------+-----+---------+----------------+
4 rows in set (0.02 sec)
4> ALTER TABLE yourTableName ADD [CONSTRAINT constraint] type (column);
例子:mysql> alter table user add constraint unique(name);
Query OK, 3 rows affected (0.25 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> desc user;
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | NO | UNI | | |
| password | varchar(20) | NO | | | |
| xingbie | char(1) | NO | | | |
+----------+-------------+------+-----+---------+----------------+
4 rows in set (0.01 sec)
5> ALTER TABLE yourTableName DROP columnName;
例子:mysql> alter table user drop xingbie;
Query OK, 3 rows affected (0.33 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> desc user;
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | NO | UNI | | |
| password | varchar(20) | NO | | | |
+----------+-------------+------+-----+---------+----------------+
3 rows in set (0.01 sec)
例子: ALTER TABLE passenger ADD CONSTRAINT passenger_flight_fk FOREIGN KEY (flight_id) REFERENCES flight(id);
//!!!!!!!!!!!!!!!!!!Foreign key
例子:
Example1: ALTER TABLE orders ADD CONSTRAINT orders_customer_fk FOREIGN KEY (customer_id) REFERENCES customer(id);
Example2: ALTER TABLE orders ADD FOREIGN KEY (customer_id) REFERENCES customer(id);
8. drop table: 删除表数据及表结构 removes all rows and table structure
DROP TABLE yourTableName;
9. truncate table: 删除表的所有数据 removes all rows
** 与DELETE FROM yourTableName不同的是,把整个表及数据删掉,然后再新建一个表
TRUNCATE TABLE yourTableName;
DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的的删除操作作为事务记录在日志中保存以便进行进行回滚操作。
相关文章推荐
- 学习日志————关于MySQL中文乱码
- MySQL使用索引的场景及真正利用索引的SQL类型
- MySql默认约束
- Mysql 存储过程
- MySQL数据库事务中的行级锁,表级锁,页级锁
- Mysql 唯一约束
- 关系型数据库之Mysql二进制日志管理(四)
- MySQl自动编号与主键
- Mysql空值与非
- mysql-索引
- Mysql命令
- mysql转换类型
- 验证:mysql AUTO_INCREMENT 默认值是1
- ubuntu 安装mysql环境(离线压缩包方式)
- mysql 入门基础(6)—触发器、权限和备份
- 跟我一起学习MySQL技术内幕(第五版):(第三章学习日记14)
- MySQL环境部署
- mysql 入门基础(5)—存储过程和游标
- Mysql总结,超实用和详细(高级篇)
- MySQL选用可重复读之前一定要想到的事情