mysql 基础sql语句

1、mysqladmin语句:

 # 查看mysql版本

mysqladmin version

 # 更改root用户密码

mysqladmin -u root -p原密码 password ‘新密码‘

# 查看数据库是否可用

mysqladmin -uroot -p ping

# 创建数据库

mysqladmin -uroot -p create my_test

# 显示服务器上的所有数据库

mysqlshow -uroot -p

# 显示数据库my_test下有些什么表:

mysqlshow -uroot -p my_test

# 统计my_test 下数据库表列的汇总

mysqlshow -uroot -p my_test -v

# 统计my_test 下数据库表的列数和行数

mysqlshow -uroot -p my_test -v -v

# 删除数据库 my_test

mysqladmin -uroot -p drop my_test

2、用户登陆相关语句

mysql> mysql -u用户名 -p密码 -h服务器地址  登陆远程服务器

mysql> mysql -u用户名 -p密码  登陆本地服务器

3、用户密码相关语句

#查看当前登陆账户

mysql>select  user();

# 创建用户

mysql>create user "用户名"@"主机地址" IDENTIFIED BY "密码";         # 创建用户
mysql>create user "用户名"@"192.168.1.1" IDENTIFIED BY "密码";    # 指定主机地址
mysql>create user "用户名"@"192.168.1.%" IDENTIFIED BY "密码";   # 指定主机范围
mysql>create user "用户名"@"%" IDENTIFIED BY "密码";                    # 表示所有主机都可以连
# 上述创建好账户后,是不能直接登录的,需要给账户关联数据库,然后给对应的数据库分配权限后才能登录。

# 查看用户权限

mysql>show grants for "用户名"@"主机地址";

# 给用户分配权限

mysql>grant 权限 on 数据库.表 to "用户"@"主机地址";
# 权限:select、insert、update、delete、all(所有权限)
# 数据库.表 如果是*.*表示所有数据库所有表,一般不会这么设置。

# grant 不单单只是给用户赋值权限,如果输入的用户不存在会创建一个用户。

# 下面使用grant创建用户和分配密码
mysql>grant select on 数据库.表 to "用户"@"主机地址" identified by "密码" ;

mysql>flush privileges;    # 更新权限设置

# 密码设置

mysql> set pasword = password("密码")

mysql>set password for "用户名"@"主机地址" = password("密码")

# 忘记root密码

net stop mysql
mysqld -nt --skip-grant-tables

以管理员身份重新启动一个cmd命令窗口,输入:mysql -uroot -p,Enter进入数据库。

select host,user,password from mysql.user;     //即可查看到用户和密码
修改密码,在命令行下 依次 执行下面的语句
mysql>use mysql
mysql>update user set password=password("new_pass") where user="root";
mysql>flush privileges;
mysql>exit
重新启动MYSQL,输入密码登录即可。
net start mysql
mysql -uroot -p

# 删除用户

mysql> drop user "用户名" ;

4、数据库相关操作

增:create database 数据库;
删:drop database 数据库;
改:alter database 数据库 字符集;
查:show databases;
  show create database 数据库;

5、数据库中表相关操作

增:create table 表名(字段 数据类型 约束条件,...);
删:delete from 表名;# 如果有自增id,新增的数据,仍然是以删除前的最后一样作为起始。
  truncate 表名;    # 数据量大,删除速度比上一条快,且直接从零开始,
改:alter table 表名 modify 字段 数据类型 约束条件;
  alter table 表名 change 字段 新字段名 数据类型 约束条件;
  alter table 表名 add 字段 数据类型 约束条件 first: # 添加新字段并放在表的第一个位置
  after table 表名 add 字段 数据类型 约束条件 after 字段; # 新增字段,放在某一字段的前面
  after table 表名 rename 新表名;
查:show tables;
  select * ftom 表名;
  select distinct 字段名 from 表;               # distinct关键字表示去掉该字段的重复值
  select 字段*12 from 表;                       # select在查询字段时可以对字段进行简单的四则运算
  select concat("自定义字符",字段,"自定义字符") from 表名;
  select concat("自定义字符",字段,"自定义字符") as 显示名 from 表名;
  select concat_ws(‘自定义字符‘,字段1,字段2,...) from 表名; # 将字段和字段用自定义字符进行分隔
  select concat_ws(‘自定义字符‘,字段1,字段2,...) as 显示名 from 表名; # 将字段和字段用自定义字符进行分隔
  select *,(case when 条件 then 执行字段 when 条件 then 执行字段 else 执行字段 end) from 表名;
  desc 表名;                        # 显示表结构
  show create table 表名;   # 显示表结构

6、数据库中表字段相关操作

增:insert into 表名 (字段) values(数据,...);
删:delete from 表名 where 字段=数值;
改:update 表名 set 字段=新值 where 字段=旧值;
查:select * from 表名;
  select 字段,字段,... from 表名;

原文地址:https://www.cnblogs.com/caesar-id/p/10650868.html

时间: 2024-10-08 04:05:07

mysql 基础sql语句的相关文章

Effective MySQL之SQL语句最优化

推荐本SQL优化的书<Effective MySQL之SQL语句最优化>. 主要讲解:如何去分析SQL的性能.索引的原理.如何创建合适的索引.如何去分析线上系统的性能瓶颈. 另外还介绍了几个辅助工具: mysqldumpslow 来分析慢查询日志: Google开源的mysql-slow-query-log-parser 分析慢查询日志: 应用程序中使用MySQL Proxy来收集SQL语句.QEP.查询执行时间: 开源Maatkit检查数据库中的重复索引: Google的MySQL补丁,引入

Orecle Mysql 基本sql语句DDL & DML 介绍与总结 by 冰琉璃

先给大家普及一下安装mysql的简易方法:yum yum search mysql (查找关于mysql的内容) 找到后需要安装3个内容 mysql.i386 mysql-server.i386 mysql-devel.i386 安装过后 service mysqld start (启动mysql服务) 进入mysql mysql -h -u root -p 密码直接回车 开始密码为默然:以后可以在mysql里面改密码或者创建账号等操作 Mysql的sql语句大致分为4种  DDL (定义语句)

MySQL批处理SQL语句

MySQL 支持批处理的模式执行一批SQL语句,下面的例子就是实验MySQL如何在windows下批处理执行SQL语句. create table test(id int,name varchar(20)); insert into test values(1,'watson'); batchfile.txt里包含下面的一些SQL 语句,此文件放在windows系统的c:/batchmysql/batchfile.txt insert into test select * from test;

MySQL常用SQL语句(Python实现学生、课程、选课表增删改查)

以基本的学生选课为例,建立选课数据库,学生.班级.选课信息三张表,并分别对表进行插删改操作: import MySQLdb try: conn = MySQLdb.connect(host = 'localhost', user = 'root', passwd = 'root', db = 'xuanke', port = 3306) cur = conn.cursor() cur.execute("CREATE DATABASE xuanke") cur.execute("

MySQL数据库sql语句的一些简单优化

1.查询条件的先后顺序 有多个查询条件时,要把效率高能更精确筛选记录的条件放在后边.因为MySQL解析sql语句是从后往前的(不知是否准确). 例: select a.*,b.* from UsrInf a,OrgInf b where LogNam='njnydx9' and b.OrgId=a.blnorg SQL语句从后往前解析,把LogNam='njnydx9'换到后边,避免了更多结果集的连接,提高了执行效率 2.in的效率问题 看网上都说in相当于多个条件的or.实际测试后发现in的执

mysql数据库sql语句调优 、

mysql数据库sql语句调优 . 索引设计原则: 索引列一般为where子句中的列或连接字句中的列 尽量不对基数小的列做索引,如性别列 尽可能使用短索引:如果对字符列索引尽量指定最小长度. (short Keys are better,Integer best) create index cityname on city(city(10)); 复合索引前缀特性,索引的顺序很重要. key(a,b,c)联合索引: 可以走索引的组合:key(a),key(a,b ),key(a,b,c) 下列索引

转 mysql 中sql 语句查询今天、昨天、7天、近30天、本月、上一月 数据

转自 http://blog.csdn.net/ve_love/article/details/19685399 转 mysql 中sql 语句查询今天.昨天.7天.近30天.本月.上一月 数据

mysql操作SQL语句

二.数据库操作SQL语句1.显示服务器上当前存在什么数据库SHOW DATABASES; 2.创建名称为rewin的数据库CREATE DATABASE rewin; 3.删除名称为rewin的数据库DROP DATABASE rewin; 4.选择rewin数据库USE rewin; 三.表操作SQL语句(登录之后必须用以上的USE命令选择一个数据库,再进行表操作)1.显示当前数据库中存在什么表SHOW TABLES; 2.创建数据库表zhangyan:在mysql>后粘贴以下SQL语句,存储

mysql优化sql语句

mysql优化sql语句 常见误区 www.2cto.com 误区1: count(1)和count(primary_key) 优于 count(*) 很多人为了统计记录条数,就使用 count(1) 和 count(primary_key) 而不是 count(*) ,他们认为这样性能更好, 其实这是一个误区.对于有些场景,这样做可能性能会更差,应为数据库对 count(*) 计数操作做了一些特别的优化. 误区2: count(column) 和 count(*) 是一样的 这个误区甚至在很多