MySQL数据库基本操作
MySQL 服务器管理操作
- # 安装mysql服务器
- sudo apt-get install mysql-server
- # 获取mysql服务器状态
- ps aux | grep mysql
- sudo service mysql status
- # mysql服务器重启/启动/关闭
- sudo service mysql restart/start/stop
- # 安装图形界面客户端
- sudo apt-get install mysql-client
- # 登录 mysql服务器
- mysql -u用户名 -p密码 # 会被history记录,不建议使用
- mysql -u用户名 -p
- # 登出
- quit/exit/Ctrl + d
- -- 展示当前系统中所有的数据库
- show databases;
- -- 切换到指定数据库使用
- use 数据库名;
- -- 查看当前正在使用的数据库
- select database();
- -- 展示创建数据的细节 - SQL
- show create database 数据库名;
- -- 创建数据库
- create database 数据库名 charset=utf8; --创建数据库时 一定要指定字符集 否则可能造成插入数据失败
- -- 删除数据 慎重
- drop database 数据库名;
表结构的基本操作-增删改查
增:create table …(…)
删:drop table …
改:alter table … add/modify/change/drop …
查:desc …
- -- 展示当前数据库的所有表
- show tables;
- -- 展示创建表的 SQL 语句
- show create table 表名;
- -- 查看表的表结构(描述)
- desc 表名;
- -- 创建表结构 create table 表名(字段名 类型 [约束],...);
- mysql> create table students(
- -> id int unsigned primary key not null auto_increment,
- -> name varchar(64) not null,
- -> age tinyint unsigned default 0,
- -> height decimal(5,2),
- -> gender enum(\'男\',\'女\',\'保密\',\'未知\'));
- -- 修改表结构 (如果表中已经有内容了,一定要加default)
- alter 表名table add 字段名Field 数据类型Type 约束Null,Key,Default,Extra; -- 往表中添加字段
- alter table students add birthday datetime not null; -- 往students表中添加birthday字段
- alter table students modify 字段名 新类型 新约束; -- 修改birthday字段的类型和约束
- alter table students change 原名称 新名称 新类型 新约束; -- 修改字段的名字
- alter table students drop 字段名称; -- 删除字段
- -- 删除表 删除表结构和表数据
- drop table 名称;
表内容的基本操作-增删改查
增:insert into … values (…)
删:delete from …
改:update … set …where
查:select … from …
- -- 查询 select 如果需要查看表中所有字段 使用* 表示所有字段
- select 字段名1,2,3... from 表名;
- select * from students;
- -- 添加 insert into 表名 (字段名1,2,3,4..) values (值1,2,3,4..),(一行数据)
- insert into students (id,name,age,height,gender) values (0,\'Tom\',18,172.00,\'男\');
- insert into students (id,name,age,height,gender) values (0,\'Tom2\',19,173.00,\'男\'),(0,\'jerry\',19,160.00,\'女\');
- -- 全列插入 如果插入的 所有字段 和 表中字段的顺序 数量 完全一致 可将字段元组省略(即使字段有默认值也要写上)
- insert into students values (0,\'Tom2\',19,173.00,\'男\'),(0,\'jerry\',19,160.00,\'女\');
- -- 部分列插入 插入数据的数量或者顺序不是和表中完全一样
- insert into students (name) values (\'老王\'),(\'老宋\');
- -- 更新 update 表名 set 字段名=值,字段2=值2 where 条件;
- update students set age=119 where id = 4;
- -- 删除 delete from 表名 where 条件;
- delete from 表名; --清空表数据 表结构还在