3.mysql的表格创建和增删改查
标签(空格分隔): 2mysql
一、表格创建
1.mysql> create database ishop1; 建一个数据库ishop1
2.mysql> use ishop1; 使用数据库ishop1
3 创建commoditytype表格
3-1 commoditytype表格
3-1-1.mysql> Create table commoditytype(
-> ct_id int(11) primary key,
-> ct_num varchar(50) not null
-> )default charset=utf8; 创建commoditytype的表格
Query OK, 0 rows affected (0.39 sec)
- 每个字段编辑完以逗号结尾
- 注意字段最后一行没有逗号
- 最后一行半个括号,设置默认字符集为utf-8
3-1-2.mysql> show tables; 显示表格(可查看ishop数据源下的所有表格)
±-----------------+
| Tables_in_ishop1 |
±-----------------+
| commoditytype |
±-----------------+
1 row in set (0.00 sec)
3-1-3.mysql> desc commoditytype; 显示表内容
±-------±------------±-----±----±--------±------+
| Field | Type | Null | Key | Default | Extra |
±-------±------------±-----±----±--------±------+
| ct_id | int(11) | NO | PRI | NULL | |
| ct_num | varchar(50) | NO | | NULL | |
±-------±------------±-----±----±--------±------+
2 rows in set (0.09 sec)
3-2 创建commodity表格;
3-2-1 mysql> create table commodity(
-> c_id int(11) primary key,
-> c_name varchar(50) not null,
-> c_madein varchar(50) not null,
-> c_type int(11) not null,
-> c_inprice int(11) not null,
-> c_outprice int(11) default null,
-> c_num int(11) default ‘100’,
-> constraint fk_1 foreign key (c_type) references commoditytype (ct_id)
-> )default charset=utf8;
Query OK, 0 rows affected (0.33 sec)
- 单引号’’— 用来修饰值
- 反引号``—修饰字段名(特殊语法的字段名)或者表明称
3-2-2 mysql> show tables; 显示表格
±-----------------+
| Tables_in_ishop1 |
±-----------------+
| commodity |
| commoditytype |
±-----------------+
2 rows in set (0.02 sec)
3-2-3 mysql> desc commodity; 显示表格的内容
±-----------±------------±-----±----±--------±------+
| Field | Type | Null | Key | Default | Extra |
±-----------±------------±-----±----±--------±------+
| c_id | int(11) | NO | PRI | NULL | |
| c_name | varchar(50) | NO | | NULL | |
| c_madein | varchar(50) | NO | | NULL | |
| c_type | int(11) | NO | MUL | NULL | |
| c_inprice | int(11) | NO | | NULL | |
| c_outprice | int(11) | YES | | NULL | |
| c_num | int(11) | YES | | 100 | |
±-----------±------------±-----±----±--------±------+
7 rows in set (0.03 sec)
3-3 创建customer表格
mysql> create table customer(
-> cu_id int(11) primary key,
-> cu_name varchar(50) not null,
-> cu_phone varchar(50) not null,手机号不能使整数型
-> cu_gender int(11) not null,
-> cu_address varchar(50) not null
-> )default charset=utf8;
Query OK, 0 rows affected (0.25 sec)
3-4 同理,增加order表格(注意顺序)
- 表的创建有一定的顺序,先父表后子表
- 撤销表格直接—drop 表名称
二 增、删、改、查
1.增加数据内容
mysql> insert into commoditytype (ct_id,ct_name) values (1,‘玩具’),(2,‘文具’),(3,‘书籍’);
mysql> select * from commoditytype;
±------±-------+
| ct_id | ct_name |
±------±-------+
| 1 | 玩具 |
| 2 | 文具 |
| 3 | 书籍 |
±------±-------+
3 rows in set (0.04 sec)
- *号代表所有通配符
2.删除数据内容
mysql> delete from commoditytype where ct_id=3;
Query OK, 1 row affected (0.09 sec)
mysql> select * from commoditytype;
±------±-------+
| ct_id | ct_name |
±------±-------+
| 1 | 玩具 |
| 2 | 文具 |
±------±-------+
2 rows in set (0.00 sec)
- 若需要修改的数据较多且有共同特征,可使用条件语句修改
- as 关键字,可给列名起名字
3.更改数据内容(1)
mysql> update commoditytype set ct_name=‘舒淇’ where ct_id=3;
Query OK, 1 row affected (0.07 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from commoditytype;
±------±-------+
| ct_id | ct_name |
±------±-------+
| 1 | 玩具 |
| 2 | 文具 |
| 3 | 舒淇 |
±------±-------+
3 rows in set (0.00 sec)
3.更改列名称(2)
mysql> alter table commoditytype change ct_name ct_num varchar(50);
Query OK, 0 rows affected (0.76 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> select * from commoditytype;
±------±--------+
| ct_id | ct_num |
±------±--------+
| 1 | 玩具 |
| 2 | 文具 |
±------±--------+
2 rows in set (0.00 sec)
- 更改要必须加上新列的数据类型
4. select的单表查询
查询所有内容----select *
只显示我们所需要的字段
语法:select 列名称1,列名称2,列名称3…from 表格1
调用 表格1 中的列名称1,列名称2,列名称3…
4-1 除重(查找某些字段的唯一值)
mysql> select distinct c_id,c_name,c_inprice from commodity;
mysql> select distinct c_inprice from commodity;
4-2 带between and 的关键字条件查询语句
between and(值域包含在内)
mysql> select c_name,c_num from commodity
-> where c_inprice between 100 and 500;
±---------±------+
| c_name | c_num |
±---------±------+
| 机器人 | 10 |
| 赛车 | 5 |
| 建筑拼装 | 20 |
| 木质拼图 | 50 |
| 西游记 | 100 |
| 水浒传 | 100 |
| 三国演义 | 100 |
±---------±------+
7 rows in set (0.07 sec)
not between…and(值域不包含在内,空心)
4-3带is null/is not null的条件查询语句
- is null
mysql> select c_name,c_num from commodity
-> where c_inprice is null;
Empty set (0.06 sec)
- 在MySQL中null参与运算,结果为空
- is not null
mysql> select c_name,c_num from commodity
-> where c_inprice is not null;
注意此处不是not is null
4-4 关系运算(大于/小于/等于/不大于/不等于…)
4-5 逻辑运算----与(1&0<0—假)/或/非
4-6 带in关键字的条件查询语句(in/not in)—用于查找固定的值
- in (或的关系)
mysql> select c_name,c_num from commodity
-> where c_inprice in (20,30,40,50,60);
- not in(且的关系)
mysql> select c_name,c_num from commodity
-> where c_inprice not in (20,30,40,50,60);
4-7 带like关键字的条件查询语句(_、%)—模糊/精确查询
- _的条件查询语句
mysql> select c_name,c_num from commodity
-> where c_name like ‘_玩%’;
- %的提件查询语句
mysql> select c_name,c_num from commodity
-> where c_name like ‘%玩%’;
- like 要和通配符配合使用,没有通配符的like相当于"="
- _匹配单个字符/%匹配任意字符并且任意个数
- 可以和其他条件共同构成复合条件
![]()