当前位置: 澳门新濠3559 > 数据库 > 正文

一、登录数据库澳门新濠3559,2)创建数据库

时间:2019-12-27 19:58来源:数据库
常识引入 1.:安装与初始化 MySQL基本操作 一、登录数据库   # mysql -u root -p -P 3306 -h localhost -S /data/3306/mysql.sock   选项: -u root #指定登录用户   -p 123456#用密码登录,不建议在命令行打密

常识引入

1.:安装与初始化

MySQL基本操作

一、登录数据库

 

# mysql -u root -p -P 3306 -h localhost -S /data/3306/mysql.sock

 

选项: -u root #指定登录用户

 

-p 123456 #用密码登录,不建议在命令行打密码,如果非要这样用,记得#history –c 清除历史记录

 

   -P 端口号 #在指定端口号登录

 

   -h 主机名 #登录的主机

 

   -S 套接字文件位置   #指定登录的套接字文件位置

 

下面操作的数据库为MySQL多实例

 

二、创建数据库用户

 

1、mysql> create user 'wdd'@'192.168.131.%' identified by '123456'; 

 

澳门新濠3559 1

 

2、 mysql> show grants; #查看当前用户的授权

 

澳门新濠3559 2

 

3、mysql> show grants for 'wdd'@'192.168.131.%';#查看指定用户的授权

 

澳门新濠3559 3

 

三、修改用户密码

 

1、# mysqladmin -uwdd -p123456 -S /data/3306/mysql.sock password '123';

 

 

澳门新濠3559 4

2、进入MySQL登录界面

 

# mysql -uwdd -p123 -S /data/3306/mysql.sock

 

mysql> set password=password('123456');    #修改自己的密码

 

澳门新濠3559 5

 

mysql> set password for 'wdd'@'192.168.131.%' =password('123456');

 

#修改指定用户的登录密码

澳门新濠3559 6

 

 

3、修改user表,必须得具有root权限

 

mysql> use mysql;

 

mysql> select user,host,password from user;   #查看用户相关信息

 

澳门新濠3559 7

 

mysql> update user set password=password('123') where host='localhost' and user='wdd';

澳门新濠3559 8

 

 

四、查看数据库和数据表

 

1、mysql> show databases;

 

澳门新濠3559 9

 

2、mysql> use mysql;

 

mysql> show tables ;

 

澳门新濠3559 10

 

五、创建数据库

 

mysql> create database wdd;

澳门新濠3559 11

 

 

六、创建数据表

 

create table 表名 (字段1 值,字段2 值 ……);

 

1、创建表books,设置序号、书名、作者、价格、发布日期、说明,第几集

 

mysql> use wdd;

 

mysql> create table books(

 

-> id int(10) unsigned not null auto_increment,

 

-> author char(20),

 

-> bookname char(50) not null,

 

-> price int(20) not null,

 

-> time year,

 

-> description char(100),

 

-> pagenum int(10),

 

-> primary key(id));

 

mysql> describe books;

 

澳门新濠3559 12

 

2、不指定字段名称,插入第一集的书籍。

 

mysql> insert into books values (1,"wdd","python",50,2015,"this is a good book",20);

 

3、同时插入多条数据(不指定集数,自动分配) auto_increment

 

mysql> insert into books (author,bookname,price,time,description,pagenum) values ('name1','php',50,2015,'good book',40)

 

mysql> insert into books (author,bookname,price,time,description,pagenum) values ('name2','ui',50,2015,'good book',30);

 

mysql> insert into books (author,bookname,price,time,description,pagenum) values ('name3','java',50,2015,'good book',30);

 

mysql> insert into books (author,bookname,price,time,description,pagenum) values ('name4','linux',50,2015,'good book',30);

 

mysql> insert into books (author,bookname,price,time,description,pagenum) values ('name5','mysql',50,2015,'good book',40);

 

mysql> select * from books;

 

澳门新濠3559 13

 

4、修改第2集到第5集的作者

 

mysql> update books set author='zhangsan' where id=2;

 

mysql> update books set author='lisi' where id=3;

 

mysql> update books set author='wangwu' where id=4;

 

mysql> update books set author='zhaoliu' where id=5;

 

mysql> select * from books;

 

澳门新濠3559 14

 

5、将第三集的价格改为0

 

mysql> update books set price=0 where id=3;

 

mysql> select * from books;

澳门新濠3559 15

 

 

6、删除价格为0的书籍

 

mysql> delete from books where price=0;

 

mysql> select * from books;

 

澳门新濠3559 16

 

七、删除数据表

 

mysql> drop table books;

 

八、删除数据库

 

drop table 表名;

 

mysql> drop database wdd;

 

mysql> show databases;

澳门新濠3559 17

 

 

九、插入数据

 

insert into 表名 (字段1,字段2……) values (数据1,数据2……);

 

CREATE TABLE person(

 

id INT UNSIGNED NOT NULL AUTO_INCREMENT,

 

name CHAR(40) NOT NULL DEFAULT '',

 

age INT NOT NULL DEFAULT 0,

 

info CHAR(50) NULL,

 

PRIMARY KEY (id));

 

mysql> desc person;

澳门新濠3559 18

 

 

在person表中,插入一条新记录,id值为3,name值为Green,age值为21

mysql> insert into person (id,name,age) values (3,'Green',21);

 

在person表中,插入一条新记录,id值为4,name值为Suse,age值为22,info值为dancer

 mysql> insert into person (id,name,age,info) values (4,'Suse',22,'dancer');

 

在person表中,插入一条新记录,name值为Mary,age值为24

mysql> insert into person (name,age) values ('Mary',24);

 

在person表中,插入一条新记录,name值为Willam,age值为20,info值为sports man:

mysql> insert into person (name,age,info) values ('Willam',20,'sports man');

 

在person表中,插入一条新记录,name值为laura,age值为25

mysql> insert into person (name,age) values ('laura',25);    

 

在person表中,不指定插入列表,同时插入2条新记录

mysql> insert into person values (8,'zhangsan',23,'handsome boy'), (9,'lisi',23,'student');

 

在person表中,在name、age和info字段指定插入值,同时插入3条新记录

mysql> insert into person values (10,'jack',27,'teacher'),(11,'lusi',20,'boss'),(12,'zhaoliu',29,'super man');

 

mysql> select * from person;

 

澳门新濠3559 19

 

十、查看数据

 

select 字段 from 表名;

 

mysql> select name,age,info from person;

澳门新濠3559 20

 

 

十一、修改数据

 

update 表名 set 字段1 where 字段2

 

在person表中,更新id值为10的记录,将age字段值改为15,将name字段值改为LiMing,

mysql> update person set name='LiMing'and age=15 where id=10;

 

在person表中,更新age值为10到12的记录,将info字段值都改为student

mysql> update person set info='student' where id=10 or id=11 or id=12;

 

mysql> select * from person;

 

澳门新濠3559 21

 

十二、删除数据

 

delete from 表名 where 字段

 

在person表中,删除id等于10的记录

mysql> delete from person where id=10;

 

在person表中,使用DELETE语句同时删除多条记录,在前面UPDATE语句中将age字段值在11到12之间的记录的info字段值修改为student,在这里删除这些记录

mysql> delete from person where id=11 or id=12;

 

mysql> select * from person;

 

澳门新濠3559 22

 

十三、修改字段

 

CREATE TABLE person(

 

id INT UNSIGNED NOT NULL AUTO_INCREMENT,

 

name CHAR(40) NOT NULL DEFAULT '',

 

age INT NOT NULL DEFAULT 0,

 

info CHAR(50) NULL,

 

PRIMARY KEY (id));

 

将数据表person改名为ps

mysql> alter table person rename ps;

 

将数据表ps中name字段的数据类型由CHAR(40)的修改成CHAR(50)

mysql> alter table ps modify name CHAR(50) NOT NULL DEFAULT '';

 

将数据表ps中的info字段名称改为information,数据类型保持不变

mysql> alter table ps change info infomation CHAR(50) NULL;

 

将数据表ps中的information字段名称改为info,同时将数据类型保持变为char(60)

mysql> alter table ps change infomation info CHAR(60) NULL;

 

数据表ps中添加一个字段time,输入SQL语句如下:

mysql> alter table ps add time year;

 

在数据表ps中添加一个字段nian。输入如下SQL语句:

mysql> alter table ps add nian year;

 

在数据表ps中name列后添加一个字段sex

mysql> alter table ps add sex char(10) after name;

 

删除数据表ps表中的nian字段

mysql> alter table ps drop nian;

 

将age字段插入到sex字段后

 mysql> alter table ps modify age int(11) not null default 0 after sex;

 

注:如果希望插入的字段位于行首,可以用first,比如:

 

mysql> alter table ps modify age int(11) not null default 0 first;

 

十四、授权

 

grant 权限 on 数据库.数据表 to '用户'@'地址';

 

1使用GRANT语句创建一个新的用户zhangsan,密码为'grantpwd'。用户zhangsan对所有的数据有查询、插入权限。并授于GRANT权限

 

 mysql> grant select,insert on *.* to 'zhangsan'@'192.168.131.%' identified by 'grantpwd';

 

 mysql> show grants for 'zhangsan'@'192.168.131.%';

 

澳门新濠3559 23

 

十五、取消权限

 

revoke 权限1,权限2 on 数据库.数据表 from '用户'@'地址';

 

1.取消zhangsan的create、drop、delete权限。

 

mysql> revoke create,drop,delete on *.* from 'zhangsan'@'192.168.131.%';

 

十六、查看权限

 

mysql> SHOW GRANTS FOR 'zhangsan'@'192.168.131.%';
澳门新濠3559 24

一、登录数据库 # mysql -u root -p -P 3306 -h localhost -S /data/3306/mysql.sock 选项: -u root #指定登录用户 -p 123456 #用密码登录,不建议在...

1.概念:

1)安装 

数据库:本质上是一个文件夹

1)查看本机所有数据库:show databases;

澳门新濠3559 25

 

yum install -y mariadb*

结束符:分号【;】,一切数据行的结尾都以分号作为结束

 

2)创建数据库:create  数据库名;

 澳门新濠3559 26

 

注:默认的数据库是不能插入中文的,会出错,如果你想插入中文,可以在创建数据库时稍微改下创建数据库语句就行。

CREATE DATABASE 数据库名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

 

澳门新濠3559 27

 

这里要说一下,查看数据库默认字符编码 show variables ``like 'character_set_%'``; /show variables like 'char%';

 

澳门新濠3559 28

这里显示的是latin1,此为mysql默认的字符编码,类似python2里默认的ASCII码一样,所以这就是mysql默认是不能插入中文的原因。而上面那条命令则可以单独的把创建的该数据库设置字符编码为utf8,就可以识别中文了。

 

当然你可以一劳永逸的直接修改mysql默认的字符编码  SET character_set_database = utf8 ;

或者也可以直接找到mysql的配置文件my.ini直接修改。5.7版本不管你mysql安装在哪,my.ini都在这:

澳门新濠3559 29

 

5.5版本在你安装目录下。

 

用记事本打开,把latin1全部替换为utf-8就行,保存退出

澳门新濠3559 30

 

修改好后重启mysql服务就行,但不建议这么操作,一般情况还是当需要中文插入时单独创建一个可以识别中文的数据库就行

 

 

还可以设置当前数据库临时的编码方式:set  names utf8/gbk;

 

这条命令会同时修改 character_set_client,character_set_connection,character_set_results

2)初始化

表创建后,再修改字段的字符集设置不影响已经插入的数据

 

3)查看当前使用的数据库,select database();【此时的database()是一个函数,所以要加括号,和python里的函数很类似】

澳门新濠3559 31

 

4)查看数据库状态信息,status;

澳门新濠3559 32

  

5)删除数据库 drop database 数据库名;

澳门新濠3559 33

 

强制删除数据库:drop database if exists test2

 

6)查看错误信息:show warnings;

澳门新濠3559 34

 

7)显示创建数据时的参数信息:show create database  数据库名;

澳门新濠3559 35

 

8)当存储过程参数乱码:create procedure t ( aa char(10) charset 'gbk');

 

 

systemctl restart mariadb

数据表:属于数据库内,本质上是文件

1)查看某个数据库下所有的表,show tables from 数据库名;【此法可以查看其它数据库下的所有数据表】或者show tables;【此法只能查看当前数据库下的所有数据表】

澳门新濠3559 36

 

注意:对某个数据库操作的前提,必须使用命令 use 数据库名,表示正在对此数据库操作,你可以理解为把数据库加入内存准备操作运行

 

2)创建数据表 create table 数据表名(列名   数据类型[,列名   数据类型...]);

澳门新濠3559 37

 

注意:创建数据表时,列名和数据类型必须给定,列名可以随意取,列名和数据类型之间有空格,且数据类型是规定好的一些关键词:

 

澳门新濠3559 38

 

澳门新濠3559 39

 

澳门新濠3559 40

 

澳门新濠3559 41

 

 

 

3)查看数据表信息:desc 数据表名;/asc  数据库名;

澳门新濠3559 42

 

 

systemctl enable  mariadb

数据行:文件中的一行数据,一串代码

1)插入数据 insert into 表名(列名)  values(数据);

澳门新濠3559 43

 

2)查询数据  select × from 表名;

澳门新濠3559 44

 

其中,×,是一个通配符,可以匹配任何数据,和正则表达式里的×一个原理

 

mysql_secure_installation

常用关键词:

查看数据库版本:select 'version' ;

1)退出关键词,用exit或者quit:

澳门新濠3559 45

2)

除设置密码外,一直摁"y"。

 

 

用户权限 

1.创建用户 create user '用户名'@‘ip地址’ identfied by '密码';

澳门新濠3559 46

 

注意:如果你创建用户时设置了登录ip地址,那么登录时必须已设置的IP地址登录。不同的用户有不同的用户权限,这和windows/linux系统用户权限一个原理

 

2).登录用户

 

mysql -hIP地址 -u用户名 -p密码  数据库名[澳门新濠3559, -e "sql语句"]

常用的为:mysql -u 用户名 -p ;

澳门新濠3559 47

 

或者也可以:

澳门新濠3559 48

 

但这样的话,注意到没,窗口上就直接显示了你的密码了,不安全 

 

-p后要么带密码,要么不带密码,如跟随密码不能有空格,如不带密码,系统会提示输入密码 -ptest :密码为test ,-p test 是不带密码登录test数据库,而后提示输入登录密码

 

3)删除用户 drop user  '用户名'@'ip地址';

澳门新濠3559 49

 

不用说,删除此账号后就不能再用此号登录了

 

4)修改用户  rename user '用户名'@'ip地址'  to '新用户名'@'新ip地址';

澳门新濠3559 50

 

5)修改密码  set password for '用户名'@'ip地址' = password('新密码');

澳门新濠3559 51

 

 登录测试:

澳门新濠3559 52

 

修改密码的方法还有:

mysqladmin -u root ``password "新密码" ;(只能设置root用户,root用户未设置密码时)

mysqladmin -u root ``password oldpass ``"新密码";(只能设置root用户,root用户已设置密码时)

SET PASSWORD = ``PASSWORD``(``'新密码'``);(修改当前用户密码)

 

用户权限相关数据保存在mysql数据库的user表中,所以也可以直接对其进行操作(不建议)

 

6)查看所有用户 

use mysql

select user from mysql.user;

澳门新濠3559 53

 

7)查看用户权限 show grants for '用户名'@'IP地址';

澳门新濠3559 54

 

用户权限有以下类型:

 

all privileges          除grant外的所有权限
select                  查询权限
select,insert           查询和插入权限

usage                   无访问权限
alter                   使用alter table
alter routine           使用alter procedure和drop procedure
create                  使用create table
create routine          使用create procedure
create temporary tables 使用create temporary tables
create user             使用create user、drop user、rename user和revoke  all privileges
create view             使用create view
delete                  使用delete
drop                    使用drop table
execute                 使用call和存储过程
file                    使用select into outfile 和 load data infile
grant option            使用grant 和 revoke
index                   使用index
insert                  使用insert
lock tables             使用lock table
process                 使用show full processlist
select                  使用select
show databases          使用show databases
show view               使用show view
update                  使用update
reload                  使用flush
shutdown                使用mysqladmin shutdown(关闭MySQL)
super                   使用change master、kill、logs、purge、master和set global。还允许mysqladmin
	

编辑:数据库 本文来源:一、登录数据库澳门新濠3559,2)创建数据库

关键词: