MySql常用指令
连接:
mysql [-h127.0.0.1] [-P3306] -uroot -p (端口要用大写P,与密码p加以区分)
查看mysql的数据库列表:show databases;
使用某个库:use [数据库名];
查看表列表:show tables;
查看数据库的创建sql:show create database [数据库名称];
查看表的创建sql:show create table [表名];
查看数据的字符集相关信息: show variables like ‘%char%’;
其中client、connection、results会根据不同连接设置不同的字符集,cmd下默认就是gbk;
与开发有关的是database与server,其中database必须为utf-8;server是用于设置默认的连接字符集,如果连接设置了字符集则使用连接的,如果未设置则使用server的字符集。
/
修改server字符集的方法
windows下是修改my.ini文件。
my.ini可以位于以下两个位置:
1、services.msc中配置的MYSQL服务中启动参数 --defaults-file指定的my.ini;
2、如果启动的服务未指定文件路径,则是mysql安装根目录下的my.ini
ubuntu下是修改my.cnf。
my.cnf所在的位置是:
/etc/mysql
修改方法:
[mysqld]
character-set-server=utf8
以上修改完成后,需要重启MYSQL服务。
ubuntu的mysql重启命令:sudo service mysql restart
/
查看当前登录的用户:select user(); 或 select current_user();
查看数据库系统配置的用户列表:SELECT * FROM mysql.user; (其中权限相关的信息也在这个表中,用户超期也在这个表中)
创建用户编辑用户、创建数据库建议用MySqlWorkBench工具,强大可视,避免错误。
创建用户:CREATE USER ‘test’@‘localhost’ IDENTIFIED BY ‘123456’;
root账户修改用户的密码的方式:udpate mysql.user set authentication_string=password(‘[你的密码]’) where user=‘[需要修改的用户名]’;
有的老版本的mysql保存密码的字段为’password’,修改密码是需要根据不同的字段名来调整sql是用authentication_string还是用password。
为用户授权:GRANT ALL PRIVILEGES ON db.* TO ‘test’@‘localhost’;
修改用户信息后刷新用户权限:flush privileges;
创建数据库: create database [数据库名称] default character set utf8 collate utf8_general_ci;
查看用户的授权语句:show grants for [用户名];
移除某个授权:revoke [drop | 权限] on [数据库名称].* from [用户名称];
删除某个数据库实例:DROP DATABASE [数据库名称];
查询一个用户有几个schemas(数据库实例)的访问权限:show grants for [用户名]; (会将赋权给用户访问的数据列出来)
查看mysql的权限关键字列表:show privilege;
查看某个schema(数据库实例)有哪些用户可以访问:select host,db,user from mysql.db;
转载原地址https://www.cnblogs.com/janken/p/11516128.html
例子:
sqlite3常用指令
1)建立数据表
create table table_name(field1 type1, field2 type1, …);
table_name是要创建数据表名称,fieldx是数据表内字段名称,typex则是字段类型。
例,建立一个简单的学生信息表,它包含学号与姓名等学生信息:
create table student_info(stu_no interger primary key, name text);
2)添加数据记录
insert into table_name(field1, field2, …) values(val1, val2, …);
valx为需要存入字段的值。
例,往学生信息表添加数据:
Insert into student_info(stu_no, name) values(0001, alex);
3)修改数据记录
update table_name set field1=val1, field2=val2 where expression;
where是sql语句中用于条件判断的命令,expression为判断表达式
例,修改学生信息表学号为0001的数据记录:
update student_info set stu_no=0001, name=hence where stu_no=0001;
4)删除数据记录
delete from table_name [where expression];
不加判断条件则清空表所有数据记录。
例,删除学生信息表学号为0001的数据记录:
delete from student_info where stu_no=0001;
5)查询数据记录
select指令基本格式:
select columns from table_name [where expression];
a查询输出所有数据记录
select * from table_name;
b限制输出数据记录数量
select * from table_name limit val;
c升序输出数据记录
select * from table_name order by field asc;
d降序输出数据记录
select * from table_name order by field desc;
e条件查询
select * from table_name where expression;
select * from table_name where field in (‘val1’, ‘val2’, ‘val3’);
select * from table_name where field between val1 and val2;
f查询记录数目
select count (*) from table_name;
g区分列数据
select distinct field from table_name;
有一些字段的值可能会重复出现,distinct去掉重复项,将列中各字段值单个列出。
6)建立索引
当说数据表存在大量记录,索引有助于加快查找数据表速度。
create index index_name on table_name(field);
例,针对学生表stu_no字段,建立一个索引:
create index student_index on student_table(stu_no);
建立完成后,sqlite3在对该字段查询时,会自动使用该索引。
7)删除数据表或索引
drop table table_name;
drop index index_name;
转载原地址https://www.cnblogs.com/zhangshuli-1989/p/zhangshuli_sqlite_150409131.html