MySQL建库建表增删改查

    科技2024-01-18  88

    MySQL建库表增删改查

    1.yum安装2.登录MySQL3.创建一个数据库和表3.1查看数据库中有哪些数据库3.2创建一个数据库1.进入数据库2.查看表3.创建表4.查看表结构5.向表中插入一条数据 4.修改默认的字符编码5.查6.改7.删8.增

    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,....);
    Processed: 0.016, SQL: 8