MySQL建库建表增删改查

1.yum安装

      yum -y install mysql mysql-server    centos6
      yum -y install mariadb mariadb-server    centos7
      启动mysql    centos6
      service mysqld start
      chkconfig mysqld on
      
      启动mariadb    centos7
      service mysqld start
      chkconfig mysqld on

2.登录MySQL

 mysql -ujack -p123 -h 192.168.189.171 -P 3306
        选项:
            -u   指定登录用户名
            -p   登录的密码
            -h   链接的mysql主机ip地址
            -P   链接数据库的端口
     # 默认用户为root,mysql5.6之前密码为空

3.创建一个数据库和表

3.1查看数据库中有哪些数据库

 show databases;
		+--------------------+
		| Database           |
		+--------------------+
		| information_schema |
		| mysql              |
		| test               |
		+--------------------+
3 rows in set (0.00 sec)

3.2创建一个数据库

create database db;
Query OK, 1 row affected (0.00 sec)\

1.进入数据库

use mysql

2.查看表

show tables;

3.创建表

语句: create table 表名(字段1 字段类型 约束条件,字段2 字段类型 约束条件);
create table stu(ID int(5),NAME varchar(10));

4.查看表结构

desc stu;
		+-------+-------------+------+-----+---------+-------+
		| Field | Type        | Null | Key | Default | Extra |
		+-------+-------------+------+-----+---------+-------+
		| ID    | int(5)      | YES  |     | NULL    |       |
		| NAME  | varchar(10) | YES  |     | NULL    |       |
		+-------+-------------+------+-----+---------+-------+

5.向表中插入一条数据

insert into stu values(1,"tom");
查询一下
select * from stu;
		+------+------+
		| ID   | NAME |
		+------+------+
		|    1 | tom  |
		+------+------+

4.修改默认的字符编码

修改mysql 5.1版本 默认编码字符为UTF8

修改配置文件
# vim /etc/my.cnf
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
systemctl restart mariadb

在这里插入图片描述

MariaDB [(none)]> show variables like '%char%';

在这里插入图片描述

5.查

desc查看表结构

desc stu;
+--------+-------------+------+-----+---------+----------------+
| Field  | Type        | Null | Key | Default | Extra          |
+--------+-------------+------+-----+---------+----------------+
| 学号   | int(8)      | NO   | PRI | NULL    | auto_increment |
| 姓名   | varchar(10) | NO   |     | NULL    |                |
| 性别   | varchar(5)  | YES  |     | NULL    |                |
+--------+-------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

查询记录
select 字段 from 表名 [where 条件];

例子:
查看“学号”为“2”,的学生的“姓名”和“性别”
select 姓名,性别 from stu where 学号='2';
插入三条测试数据
 insert into stu values(3,'王五','女','15');
		insert into stu values(4,'王二','男','25');
		insert into stu values(5,'张六','女','17');
1.查询年龄大于等于18岁的学生信息
select * from stu  where 年龄 >= 18;
2.查询年龄大于18岁的女生的信息
 select * from stu where 性别='女' and 年龄 >= 18;
3.查询年龄在17到20岁之间的信息

select * from stu where 年龄 between 17 and 20;
4.查询姓张的同学的信息

 select * from stu where 姓名 like '张%';
5.信息按年龄进行降序显示
 select * from stu  order by 年龄 DESC;
6.查询班级男生和女生各多少个
 select 性别,count(学号) from stu group by 性别;
7.查询班级女生有多少个
 select 性别,count(学号) from stu group by 性别 having 性别="女";
8.查询年龄最大的
 select 姓名,max(年龄) from stu;
 年龄最小的
 select 姓名,min(年龄) from stu;
 平均年龄
 select avg(年龄) from stu;
 年龄总和
 select sum(年龄) from stu;
9.查询年龄最小的学生的信息
select * from stu where 年龄 = (select min(年龄) from stu);
10.查询第3行到第5行
select * from stu where 学号 limit 2,3;

6.改

增加一个字段:

alter table 表名  add   新字段 字段类型 [after  字段 ];

在学号后面增加一个学院的字段

   alter table stu add 学院 varchar(10) after 学号;

删除一个字段:

alter table 表名 drop  字段名;

删除 “学院” 字段

 alter table stu drop 学院;

改字段的类型

 alter table 表名 modify  字段名 新的类型 新的约束条件;

修改“性别”字段类型为char(2)

 alter table stu modify 性别 char(2) not null;

改字段名

alter table stu change 旧字段名  新字段名 字段类型;

修改“姓名”字段为“NAME”

  alter table stu change 姓名  NAME char(10) not null;

修改表名:

alter table 表名 rename [to] 新表名;

修改表名stu 为student

 alter table stu rename student;
  rename table 旧表名 to 新表名;

修改表名student 为stu

  
    rename table student to stu;

7.删

删除记录:
删除全部记录

  delete from stu;

根据条件去删除记录,满足条件的删除,不满足不删除
删除名为"王五"的记录

  delete from stu  where  姓名="王五";

修改某个记录的内容:

 蒋性别这一列的值全部改为男
 update stu set 性别="男"; 
  蒋李四的"性别"改为"女"
  update stu set 性别="女" where 姓名="李四";

8.增

复制表:
只复制表结构

  create table  表名  like 旧表名;

复制表结构和表内容

  create table  表名  select * from 旧表名; 

增加一条记录:
全列插入:

 insert into 表名  values(1,2,....);

部分列插入:


        insert into 表名(字段1,字段2...)  values(1,2,....);

猜你喜欢

转载自blog.csdn.net/APPLEaaq/article/details/108947532