Mysql启动与停止
启动mysql服务
sudo /usr/local/mysql/support-files/mysql.server start
停止mysql服务
sudo /usr/local/mysql/support-files/mysql.server stop
重启mysql服务
sudo /usr/local/mysql/support-files/mysql.server restart
进入mysql目录文件
cd /usr/local/mysql/support-files
进入mysql命令行
/usr/local/MySQL/bin/mysql -uroot -p123456
退出数据库 exit;
数据库相关操作
复制表
create table 表名 like 被复制的表名;
查看某个数据库中的所有的数据表
show tables;
查看数据表的结构
desc pet;或describe pet;
修改表名
alter table 表名 rename to 新的表名;
修改表的字符集
alter table 表名 character set 字符集名称;
添加一列
alter table 表名 add 列名 数据类型;
删除列
alter table 表名 drop 列名;
删除表
drop table 表名;或drop table if exists 表名 ;
添加数据
insert into 表名(列名1,列名2,...列名n) values(值1,值2,...值n);
其中列名和值要一一对应。如果表名后,不定义列名,则默认给所有列添加值,如:insert into 表名 values(值1,值2,...值n);除了数字类型,其他类型需要使用引号(单双都可以)引起来.
删除数据
delete from 表名 where 条件
其中:如果不加条件,则删除表中所有记录。如果要删除所有记录, 使用delete from 表名;一般不推荐使用。这种操作有多少条记录就会执行多少次删除操作.
TRUNCATE TABLE 表名;推荐使用,效率更高 先删除表,然后再创建一张一样的表.
修改数据
update 表名 set 列名1 = 值1, 列名2 = 值2,... where 条件;如果不加任何条件,则会将表中所有记录全部修改.
insert into user2 values (1,'李四','123'); // 增
delete from pet where ower = 'disn'; //删
update pet set name = '后裔' where ower = 'dfn'; //改
查询数据
①> 、< 、<= 、>= 、= 、<>
②BETWEEN...AND
③ IN( 集合)
④LIKE 模糊查询
⑤_单个任意字符
⑥%多个任意字符
⑦IS NULL
⑧and 或 &&
⑨or 或 ||
⑩not 或 !
查询条件应用举例:
SELECT * FROM user WHERE age >= 18;
SELECT * FROM user WHERE age >= 18 AND age <=36;
SELECT * FROM user WHERE age BETWEEN 40 AND 70;
SELECT * FROM user WHERE age IN (6,18,37);
// 关于NULL
SELECT * FROM user WHERE height = NULL; 错误,因为null值不能使用=或(!=) 判断
SELECT * FROM user WHERE height IS NULL;(正确)
SELECT * FROM user WHERE height IS NOT NULL;(正确)
// 查询姓陈的有哪些?< like>
SELECT * FROM user WHERE NAME LIKE '陈%';
// 查询姓名第二个字是新的人
SELECT * FROM user WHERE NAME LIKE "_新%";
// 查询姓名是三个字的人
SELECT * FROM user WHERE NAME LIKE '___';
// 查询姓名中包含狗的人
SELECT * FROM user WHERE NAME LIKE '%月%';
约束相关
主键约束 (primary key)
能够唯一确定一张表中的的一条记录,我们通过给某个字段添加约束, 可以使得这个字段不重复且不为空.
create table user (
id int primary key auto_increment, // 在创建表时,添加主键约束,并且完成主键自增
name varchar(20)
);
-- 联合主键: 由多个字段联合组成的主键, 只要联合的主键加起来不重复就可以.联合主键中的任何一个字段都不能为空.
create table user2 (
id int,
name varchar(20),
password varchar(20),
primary key(id, name)
);
表创建完成后:
添加主键.如:
①alter table user add primary key(id);②alter table user modify id int primary key;
删除主键:alter table user drop primary key;
唯一约束:
unique 约束修饰的字段的值不可以重复.
create table user1 (
id int primary key auto_increment,
phone_num varchar(20) unique
);
create table user2 (
id int primary key auto_increment,
name varchar(20),
unique(id, name) // 表示两个字段在一起不重复就可以
);
也可以在表创建完成后, 通过
alter table user3 add unique(phone_num);
或alter table user3 modify phone_num varchar(20) unique;
来添加unique约束.
删除unique约束:alter table user3 drop index phone_num;
非空约束