远程连接授权用户(授权root密码root)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
登录到MySQL
mysql -h 主机名 -u 用户名 -p
-h : 该命令用于指定客户端所要登录的MySQL主机名, 登录当前机器该参数可以省略;
-u : 所要登录的用户名;
-p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。
创建数据库
create database 数据库名;
create database if not exists 数据库名; -- 如果不存在则创建
查看MySQL服务器中的所有数据库:
show databases;
查看某个数据库的定义信息
show create database 数据库名;
删除数据库
drop database 数据库名称;
在创建表时创建主键,在表创建的最后来指定主键
CREATE TABLE 表名(
id int auto_increment,
....,
primary key(id)
);
查看数据库中所有的表
show tables;
查看表结构
desc 表名;
查看建表语句
show create table 表名;
删除表
drop table 表名;
删除列:
alter TABLE 表名 DROP 列名;
修改表名:
RENAME TABLE 表名 TO 新表名;
修改表的字符集
alter TABLE 表名 CHARACTER SET 字符集
修改列名
alter TABLE 表名 CHANGE 列名 新列名 列类型;
添加列
alter table 表名 add 列名 列类型;
插入操作: INSERT:
INSERT INTO 表名(列名1,列名2 ...)VALUES(列值1,列值2...);
注意:
列名与与列值的类型、个数、顺序要一一对应
可以把列名当做java中的形参,把列值当做实参
值不要超出列定义的长度
如果插入空值,请使用null
插入的日期和字符一样,都使用引号括起来
修改操作: UPDATE
UPDATE 表名 SET 列名1=列值1,列名2=列值2... WHERE 列名=值
删除操作
DELETE FROM 表名 [WHERE 列名=值]
删除表中所有记录
DELETE FROM 表名
查询所有列
SELECT * FROM 表名
查询指定列
SELECT sid, sname, age FROM stu;
条件查询就是在查询时给出WHERE子句,在WHERE子句中可以使用如下运算符及关键字:
=、!=、<>、<、<=、>、>=;
BETWEEN…AND;
IN(set);
IS NULL; IS NOT NULL
AND;
OR;
NOT;
JOIN
JOIN 按照功能大致分为如下三类:
INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。
LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。
RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。