3. 创建数据库
使用 create database 数据库名; 创建数据库。
create database MyDB_one;
create database DBAliTest;
创建数据库成功后,数据库的数量变成了6个,多了刚才创建的 dbalitest 。
4. 创建数据库时设置字符编码
使用 create database 数据库名 character set utf8; 创建数据库并设置数据库的字符编码。
create database MyDB_two character set utf8;
直接创建的数据库,数据库的编码方式是 MySQL 默认的编码方式 latin1 (单字节编码) ,通常我们会在数据库中存放中文数据,所以最好把数据库的编码方式设置成 utf-8 ,这样中文才能正常显示。
5. 查看和显示数据库的编码方式
使用 show create database 数据库名; 显示数据库的创建信息。
show create database dbalitest;
6. 使用 alter database 数据库名 character set utf8; 修改数据库编码
2. 查看当前的数据库
使用 show databases; 查看当前安装的 MySQL 中有哪些数据库
show databases;
刚安装 MySQL 时,默认有四个数据库,information_schema,mysql,perfomance_schema,sys 。通常情况下,我们不会直接使用这四个数据库,但千万不要把这四个数据库删了,否则会带来很多不必要的麻烦。如果不小心删了,建议是重新安装 MySQL ,在重装之前把自己的数据迁移出来备份好,或者从其他服务器上迁移一个相同的数据库过来。
7. 进入或切换数据库
使用 use 数据库名 进入或切换数据库。
mysql> use mysql
刚连接上 MySQL 时,没有处于任何一个数据库中,如果要使用某一个数据库,就需要进入到这个数据库中。
use 数据库名 这个命令后面的分号可以省略,这是 SQL 语句中唯一可以省略分号的语句。
8. 显示当前数据库 select database();
select database();
进入数据库中,可以使用 select database(); 来查看当前处于哪个数据库中。长时间操作数据库时,在很多数据库中来回切换后,查看当前的数据库,避免操作错了数据库。
三、创建数据表
1. 查看当前数据库中的表
使用 show tables;查看当前数据库中有哪些表。
show tables;
3. 显示表信息
用 show create table 表名; 来显示已创建的表的信息。
mysql> show create table user;
使用 show create table 表名; 可以显示表的字段信息, MySQL 的引擎,和默认的字符编码等信息。与显示数据库信息一样,show 只能显示已经创建了的数据表的信息,不能在创建的同时显示信息。
7.2、创建表
语法
create table 表名(字段名 数据类型,字段名 数据类型,....字段名 数据类型
);create table student(id int,name varchar(32),birthday date,money double(5,2)
);
注意事项:最后一个字段定义不用写逗号,其余每一行都要写逗号。
7.3、查询表
查询某个数据库中所有的表
show tables;
查询表结构
desc 表名;
1.mysql中的用户,都存储在mysql系统的系统数据库“mysql”中。
一. 创建用户命令
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
说明:
username:你将创建的用户名
host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%
password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器
CREATE USER 'tet_dk'@'localhost' IDENTIFIED BY '1234';--启用这个CREATE USER 'tet_dk'@'192.168.1.101_' IDENDIFIED BY '1234';CREATE USER 'tet_dk'@'%' IDENTIFIED BY '1234';CREATE USER 'tet_dk'@'%' IDENTIFIED BY '';CREATE USER 'tet_dk'@'%';
二. 授权
命令:GRANT privileges ON databasename.tablename TO 'username'@'host'
说明:
privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
databasename:数据库名
tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*
GRANT SELECT, INSERT ON test.user TO 'test_db'@'%';
GRANT ALL ON *.* TO 'test_db'@'%';
GRANT ALL ON maindataplus.* TO 'test_db'@'%';GRANT ALL ON *.* TO 'test_db'@'localhost';--启用这个