mysql
数据库初始化
--设置root账户密码
mysqladmin -u root password
--连接mysql服务器
mysql –h127.0.0.1 –uroot –p
--添加 MySQL用户
--①在mysql数据库中的 user 表添加新用户
--②使用 create ,'%'可以在任意主机登录
create user 'admin'@'%' identified by '123';
--设置密码
alter user 'admin'@'localhost' identified by '密码';
--赋予权限
grant all privileges on *.* to 'admin'@'%';
--查看权限
show grants for 'admin'@'localhost';
--删除用户
drop user [user];
mysql8.0无法更改root密码解决方法
cat /etc/mysql/debian.cnf
--使用这里的用户名和密码登录
--登录成功后
use mysql;
update mysql.user set authentication_string='' where User='root';
alter user 'root'@'localhost' identified with mysql_native_password by '123456';
FLUSH PRIVILEGES;
执行.sql文件
mysql -uroot -p <db.sql
增
--创建数据库
create database [database_name];
-- mysqladmin创建数据库
mysqladmin -uroot -p create [database_name];
--创建数据表
create table [table_name] (column_name column_type);
--例
create table a( a_id int not null auto_increment,
a_host varchar(40) not null, submission_date DATE,
primarykey (a_id) )engine=InnoDB DEFAULT CHARSET=utf8;
--插入数据
insert into a (a_host,submission_date)
values ("localhost",NOW());
删
--删除数据库
drop database [database_name];
--删除数据表
drop table [table_name];
--删除数据
delete from a where id=1;
改
--更新某行数据
update a set a_host='local',
submission_date='2012-12-12' where a_id=1;
查
show databases;
use [database];
show tables;
describe user;
select User from user ;
--like的使用
select * from a where a_host like 'l%';
where like 的条件查询中,SQL 提供了四种匹配方式
%:表示任意 0 个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。
_:表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句。
[]:表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。
[^] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符。
查询内容包含通配符时,由于通配符的缘故,导致我们查询特殊字符"%"、" _ "、"[" 的语句无法正常实现,而把特殊字符用 “[ ]” 括起便可正常查询。