#连接数据库
Linux终端中输入 # mysql -uroot -p密码
#以上直接加上密码的语句不太安全,如果别人查看你的终端history会知道你得密码
#密码不会显示的语句
mysql -uroot -p
输入密码,不会显示密码
#断开连接
exit ;
quit ;
Ctrl + d
#展示当前数据库系统中所有的数据库
show databases;
#查询当前正在使用的数据库
select database();
#切换到指定数据使用
use 数据库名;
#创建数据库
create database 数据库名 charset=utf8;
#展示数据库创建时SQL语句
show create database 数据库名;
#删除库(慎用)
drop database 数据库名称;
5. 表结构的操作
#展示当前数据库中所有的表
show tables;
#查看表结构的描述信息
desc 表名;
#创建一个表结构
CREATE TABLE table_name(
column1 datatype contrai,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY(one or more columns)
);
#展示创建表结构的SQL语句
show create table student;
#为已经存在的表 添加一个字段
alter table 表名 add 列名 类型;
#删除表结构中的字段
alter table 表名 drop 要删除的字段;
#为已经存在的表 修改字段的名字 类型 以及 约束
alter table 表名 change 原名 新名 类型及约束;
例如:把birthday 改为 birth 类型改为date类型
alter table student change birthday birth date;
#不改名 只改约束和类型
alter table 表名 modify 列名 类型及约束;
#删除表中的字段
alter table 表名 drop 列名;
#删除表(慎用)
drop table 表名;
6. 表数据的操作
#查询
#中查询表中所有的字段数据
select * from 表名;
#从表中查询出字段数据
select 列1,列2,... from 表名;
#插入
#插入数据的顺序和 表结构中的字段完全一致 -- 全列插入
insert into 表名 values(...)
#部分列插入
insert into 表名(列1,...) values(值1,...)
#上面的语句一次可以向表中插入一行数据,还可以一次性插入多行数据,这样可以减少与数据库的通信
insert into 表名 values(...),(...)...
insert into 表名(列1,...) values(值1,...),(值1,...)...;
#更新
update 表名 set 字段名=新值 where 条件;
例如把student表中id为4的信息的年龄改为17
update student set age = 17 where id = 4;
# 把hero表中id为3的信息的名字改为亚索 并且 年龄改为55
update hero set name='亚索',age = 55 where id = 3;
# 把hero表中id大于2的信息 的年龄全部设置为60
update hero set age = 60 where id > 2;
#删除
delete from 表名 where 条件