MYSQL-基础学习之数据库和表的增删改查

本文详细介绍MySQL数据库的操作,包括创建、删除、修改数据库及表,数据的插入、更新、删除,以及查询语句的使用,如排序、分组、限制显示等。
9:38 2019/3/7/周四
///////////////////////////
          MYSQL
//////////////////////////
SQL 规范:
1.SQL语句不区分大小写。
2.SQL 语句以“;”来结束。
3.可以利用空格或者缩进来提可读性。
4DDL(定义性)DML操作。
///////////////////////////////////
          DDL
/////////////////////////////////////
//数据库查询:
show databases
//创建数据库
create database td_demo
//删除数据库
DROP database show_mysql;
//创建数据库 如果不存在的情况。
create database
 if not exists show_mysql;
//展示数据库;
show  create database s1;
//更改文件编码方式
 alter database  s1 character set gbk;

////////////////////////////////////////////////////////
//数据库类型
char (30)//定长必须是30个字节的
varchar(30)//不定长的,最多不能操作30个字节。ps(汉字在utf-8占3个字节)
data 时间数据类型:
/////////////////////////

mysql> create TABLE  equipment(  ///这个 是创建表
       
       equip_id TINYINT primary key ,
       mush_id TINYINT 
)
    -> ;

mysql> desc equipment//这个是查询表里面的内容
 
mysql> show create table equipment //
    -> ;
结果:
| equipment | CREATE TABLE `equipment` (
  `equip_id` tinyint(4) NOT NULL,
  `mush_id` tinyint(4) DEFAULT NULL,
  PRIMARY KEY (`equip_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |


////////////////////////////////////
mysql> alter table equipment add ison_interenet tinyint(1);//向table 里面添加信息。
//添加多条信息:
mysql> alter table equipment add A  INT,
    -> add B INT,
    -> add C INT;
删除表格信息:
mysql> alter table equipment drop A;
//修改表格信息:
mysql> alter table equipment modify B tinyint;

//创建表格:
create table A( id int);
//删除表格:
create table A( id int);

/////////////////////
新创建表格信息:

mysql> create TABLE  emp(

       id TINYINT primary key ,
       name varchar(20),
       age tinyint,
       gender char(3),
       salary float(7,2),
       depart  varchar(20)
   )
    -> ;
//插入表格元素:
mysql> insert into emp(id,name,age,gender,salary,depart)
    ->             values(1,"ann",22,"男",9600,"技术部");
//查询表格里面你的内容。
mysql> select *from emp;
+----+------+-----+--------+--------+--------+
| id | name | age | gender | salary | depart |
+----+------+-----+--------+--------+--------+
|  1 | ann  |  22 | 男     |   9600 | 技术部 |
+----+------+-----+--------+--------+--------+
1 row in set

//插入多行语句:

mysql> insert into emp(id,name,age,gender,salary,depart) values 				(2,"cjm",22,"男",9600,"商务英语"),
                                                            			(3,"zy",22,"男",9600,"技术部"),
                                                            			(4,"qz",22,"男",9600,"技术部");
//修改:
update emp set salary=salary+2000 WHERE name="ann";

mysql> update emp set gender="女" where name ="cjm";

mysql> select *from emp;
+----+------+-----+--------+--------+----------+
| id | name | age | gender | salary | depart   |
+----+------+-----+--------+--------+----------+
|  1 | ann  |  22 | 男     |  11600 | 技术部   |
|  2 | cjm  |  22 | 女     |   9600 | 商务英语 |
|  3 | zy   |  22 | 男     |   9600 | 技术部   |
|  4 | qz   |  22 | 男     |   9600 | 技术部   |
+----+------+-----+--------+--------+----------+
//删除表记录:
mysql> delete from emp where id=4;


////////////////////////////////////////////
               查询
/////////////////////////////////////////
//查询部分。
select name from emp;
//查询是自动删除里面元素相同的(只保留第一次):
  select distinct age from emp;
//

mysql> select *from emp;
+----+------+-----+--------+--------+----------+
| id | name | age | gender | salary | depart   |
+----+------+-----+--------+--------+----------+
|  1 | ann  |  22 | 男     |  11600 | 技术部   |
|  2 | cjm  |  22 | 女     |   9600 | 商务英语 |
|  3 | zy   |  22 | 男     |   9600 | 技术部   |
+----+------+-----+--------+--------+----------+
3 rows in set

mysql> select name as 姓名 from emp;//这个as是用来显示的,就是吧name 换成了姓名。
+------+
| 姓名 |
+------+
| ann  |
| cjm  |
| zy   |
+------+
//
mysql> select *from emp where age>18;
+----+------+-----+--------+--------+----------+
| id | name | age | gender | salary | depart   |
+----+------+-----+--------+--------+----------+
|  1 | ann  |  22 | 男     |  11600 | 技术部   |
|  2 | cjm  |  22 | 女     |   9600 | 商务英语 |
|  3 | zy   |  22 | 男     |   9600 | 技术部   |
+----+------+-----+--------+--------+----------+
//排序:order by age desc(这个是升序)asc
mysql> select *from emp where age>18 order by age desc;
+----+------+-----+--------+--------+----------+
| id | name | age | gender | salary | depart   |
+----+------+-----+--------+--------+----------+
|  1 | ann  |  22 | 男     |  11600 | 技术部   |
|  2 | cjm  |  22 | 女     |   9600 | 商务英语 |
|  3 | zy   |  22 | 男     |   9600 | 技术部   |
|  5 | cm   |  22 | 男     |   9600 | 技术部   |
|  6 | qz   |  22 | 男     |   9600 | 技术部   |
|  4 | ccw  |  20 | 女     |   9600 | 商务英语 |
+----+------+-----+--------+--------+----------+
//mysql> select *from emp where age>18 order by age asc;//这个是降序。
//group排序:
mysql> select *from emp group by id;
+----+------+-----+--------+--------+----------+
| id | name | age | gender | salary | depart   |
+----+------+-----+--------+--------+----------+
|  1 | ann  |  22 | 男     |  11600 | 技术部   |
|  2 | cjm  |  22 | 女     |   9600 | 商务英语 |
|  3 | zy   |  22 | 男     |   9600 | 技术部   |
|  4 | ccw  |  20 | 女     |   9600 | 商务英语 |
|  5 | cm   |  22 | 男     |   9600 | 技术部   |
|  6 | qz   |  22 | 男     |   9600 | 技术部   |
+----+------+-----+--------+--------+----------+

//
聚合函数。
 select count(name) from emp where age>18;
///////////////////////////
///limit;限制显示几条。

mysql> select *from emp group by id limit 3;
+----+------+-----+--------+--------+----------+
| id | name | age | gender | salary | depart   |
+----+------+-----+--------+--------+----------+
|  1 | ann  |  22 | 男     |  11600 | 技术部   |
|  2 | cjm  |  22 | 女     |   9600 | 商务英语 |
|  3 | zy   |  22 | 男     |   9600 | 技术部   |
+----+------+-----+--------+--------+----------+


mysql> select *from emp group by id limit 2,2;//这个是跳过2条显示2条。
+----+------+-----+--------+--------+----------+
| id | name | age | gender | salary | depart   |
+----+------+-----+--------+--------+----------+
|  3 | zy   |  22 | 男     |   9600 | 技术部   |
|  4 | ccw  |  20 | 女     |   9600 | 商务英语 |
+----+------+-----+--------+--------+----------+

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值