Mysql 命令 操作

Posted by
  • 查询表记录

 

    字段名 数据类型,

 

  1. 模糊匹配
    1.   where 字段名 like 表达式;
    2.   表达式
      1.   _   :  匹配单个字符
      2.   %  : 匹配 0 到多个字符
  2. 正则匹配 regexp
    1.   where 字段名 regexp “正则表达式”;
    2.   正则表达式符号
      1.   ^ : 以…开头
      2.   $: 以…结尾
      3.   . : 匹配任意一个字符
      4.   []: 包含…内容
        1.         [0-9]:匹配带数字的
        2.         [a-z]:匹配带小写字母的
        3.         [A-Z]
      5.   * : 星号前面的字符出现 0 次或者多次

 

    show create table tablename;

 

    drop table tablename;

 显示字符串
mysql> SELECT “welecome to my blog!”;
+———————-+
| welecome to my blog! |
+———————-+
| welecome to my blog! |
+———————-+
1 row in set (0.00 sec)

    insert into tablename values(值1),(值2),…,(值N);

 

(5)表记录的管理

``违约处理:拒绝执行

    select 字段名1,字段名2,…,字段名N from tablename;

4.查询数据
       =  !=  >=   <= 
 in()     between 值and值    or     
and           like  _  
%

  • 查看创建表的语句(字符集)

**

  • 查看表结构

删除一个字段:
mysql>**alter table  表名 drop
字段名;

  • 创建表(制定字符集)

3..显示查看命令
查看mysql的当前登陆用户 
select user();

(6)一些特殊的匹配方式

**insert 语句一次插入整条数据:
   insert 表名
values(‘字段1值’ , ‘字段2值’ , ‘字段3值’ , ‘字段n值’);

    语法:

 【1】Host——对应的允许访问域(%表示全域,192.168.%.%表示对应账号对该段均可访问,
           127.0.0.1表示对应账号仅这台机器可访问)
【2】User——用户名
【3】Password——密码加密串
【29】xxx_priv——各种权限 

    … …

2.参照完整性约束(外键约束)foregin ``key``() ``references tableName(filedName) [``on delete``|``update casecade | ``no action``]

(1)库的基础操作

mysql>show create table 表名;
 mysql>show full columns
from 表名;
 

(4)表字段的操作

 

      注: 修改数据类型时,会受到表中原有数据的限制!

 

      alter table tablename 执行动作;

 

  1. 删除表记录
    1.   delete from tablename where 条件;
  2. 更新表记录
    1.   update tablename set 字段名1=值1, 字段名2=值2,… where
      条件;

4.5 当前选择的数据库
命令:mysql> select database();
MySQL中SELECT命令类似于其他编程语言里的print或者write,你可以用它来显示一个字符串、数字、数学表达式的结果等等。如何使用MySQL中SELECT命令的特殊功能?
1.显示MYSQL的版本
mysql> select version(); 
+———————–+ 
| version()             | 
+———————–+ 
| 6.0.4-alpha-community | 
+———————–+ 
1 row in set (0.02 sec) 

  • 删除表

修改字段的名称及类型:(不论是否改变字段类型,一定要重新指定该字段的类型)
mysql>alter table 表名 change  原字段名  字段新名 新数据类型
新约束条件;**

  • 在表中插入记录

4.查询表中索引
        show  index  from 表名;

    select * from tablename;

5.改表结构

  • 添加字段
    •   alter table tablename add 字段名 数据类型 first | after
      字段名;
  • 删除字段
    •   alter table tablename drop 字段名;
  • 修改字段数据类型
    •   alter table tablename modify 字段名 新数据类型;

limit显示设置
       
limit
      
select *from 表名 order by
字段1 limit 4;    
显示前四行
       **select *from 表名
order by 字段1 limit 2,4;    **
显示3到5行(从0开始计数)

    create table tablename(

 

  • 修改字段名
    •   alter table tablename change 旧名 新名 数据类型;
  • 修改表明
    •   alter table tablename rename 新表明;

information_schema 库:
information_schema这张数据表保存了MySQL服务器所有数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。再简单点,这台MySQL服务器上,到底有哪些数据库、各个数据库有哪些表,每张表的字段类型是什么,各个数据库要什么权限才能访问,等等信息都保存在information_schema表里面。

    );

        含有某个字符组(其中含有hello即可)
                      select * from yuangong where 字段名
regexp ‘hello’;
       ^  以什么开头
                      select * from yuangong where 字段名 regexp
‘^b’;

(2)表的管理

 

  • 查看已有库: show databases;
  • 创建库(制定默认字符集): ccreate database 库名 default
    charset=utf8;
  • 查看创建库的语句: show create database 库名;
  • 查看当前所在库: select database();
  • 切换库: use 库名;
  • 查看库中已有表: show tables;
  • 删除库: drop database 库名;

          
select  min(money)  from  people;  字段最小值
           select  max(money) from people;   字段最大值
           select  avg(money)  from people;   字段平均值
           select  sum(money) from people;    获得字段的和
            select count(*) from people;              总行数
            select count(字段名) from people;      字段行数

    字段名 数据类型,

修改字段类型: mysql>alter table 表名  modify 
原字段名 新数据类型 新约束条件;

(3)表记录管理

3.用户自定义完整性约束 非空、唯一、核对(``not null``,``unique``,``check``短语)

    desc tablename;

mysql> USE 库名;
mysql> SHOW TABLES;

  1. 当计算器用
    select ((4 * 4) / 10 ) + 25;
    +———————-+
    | ((4 * 4) / 10 ) + 25 |
    +———————-+
    | 26.60 |
    +———————-+
    1 row in set (0.00 sec)

3.更新数据
     更改一个字段的所有值
       update 表名 set 
字段=值                  (一定!一定!看清楚!更改该字段的所有记录值)

     输出表全部记录
       select * from 表名

mysql> DESCRIBE 表名;

修改字段排序: mysql>alter table
表名  modify  
原字段名
新数据类型 first | after  字段名2;

模糊查询
       通配符    like     _  匹配单个字符       %匹配n个字符
       select  * from yuangong  where 字段名  like ‘_b_’;
       select * from yuangong   where 字段名 like ‘b__’;
       select * from yuangong   where 字段名 like ‘%b’;

4.默认值   default "默认值"

performance_schema 库:
5.5 版本起 新增了一个性能优化的引擎
PERFORMANCE_SCHEMA。主要用于收集数据库服务器性能参数。MySQL用户是不能创建存储引擎为PERFORMANCE_SCHEMA的表,这个功能默认是关闭的:
需要设置参数: performance_schema 
才可以启动该功能,这个参数是静态参数,只能写在my.cnf 中
不能动态修改。
Performance的开启很简单,在my.cnf中[mysqld]加入performanc_schema,检查性能数据库是否启动的命令:
SHOW VARIABLES LIKE ‘performance_schema’;
若是返回的 值为ON,则说明性能数据库正常开启状态。

 

 

SQL 的数据定义语言 (DDL)
部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。
SQL 中最重要的 DDL 语句:
CREATE DATABASE – 创建新数据库
ALTER DATABASE – 修改数据库
DROP DATABASE – 删除数据库

CREATE TABLE 
– 创建新表
ALTER TABLE – 变更(改变)数据库表
DROP TABLE – 删除表

CREATE INDEX 
– 创建索引(搜索键)
DROP INDEX – 删除索引
ALTER INDEX –修改索引

3.创建表时添加索引
       **
create table 表名(
              id int,
              name varchar(),
              age int,
             index (id),
              );
       **create table 表名(
            id int,
            name varchar(),
            age int,
            UNIQUE
[索引名] (字段名)
             );
    
create table 表名(
            id int,
           name varchar(),
           age int,
           primary key  (字段名)
           );**

条件查询
      
select * from 表名 where 
字段名 (条件运算符)  值
        
条件运算符:=   !=   >=   <=    
in()
在列表内的值        between 
值and值  
范围内的值
        select * from TableName where id=2;
        select * from TableName where id>2;
        select * from TableName where id<2;     
        select * from TableName where id in(2,5,8);   
        select * from TableName where id between  2 and 8;
           以上运算符条件查询只能用在
数值匹配上

6.表内容操作
1.增加数据(插入)

逻辑运算符
       or    and
        select * from TableName where id<2  or  gz=100;        (符合一个条件即可)
        select * from TableName where id<2  and  gz=100;     (要符合两个条件)

使用insert…select语句插入从其他表选择的行
   insert
表名(col1,col2) select col3,col4 from tbl_name2;

 

 

在sql语句中注意“约束的概念":

 

 

4.5 修改数据库

串接字符串
select CONCAT(f_name, ” “, l_name) AS Name
from employee_data
where title = ‘Marketing Executive’;
+—————+
| Name |
+—————+
| Monica Sehgal |
| Hal Simlai |
| Joseph Irvine |
+—————+
3 rows in set (0.00 sec)
注意:这里用到CONCAT()函数,用来把字符串串接起来。另外,我们还用到以前学到的AS给结果列’CONCAT(f_name,
” “, l_name)’起了个假名。

3、显示数据表的结构:

 

 

6.创建临时表      有的时候,当工作在非常大的表上时,可能偶尔需要运行很多查询获得一个大量数据的小的子集,不是对整个表运行这些查询,而是让MySQL每次找出所需的少数记录,将记录保存到一个临时表可能更快一些,然后对这些临时表进行查询操作。可以通过使用temporary关键字和create
table语句来实现。

 

``违约处理:级联更新或拒绝执行

图片 1

 

1、显示当前数据库服务器中的数据库列表:

create
database <数据库名>  增

drop database <数据库名>     删
alter <数据库名>                      改
show
databases                      查

select database();
use 数据库名

查看当前版本
select  @@version ;

可以把 SQL 分为两个部分:

数据定义语言(DDL),例如:CREATE、DROP、ALTER等语句。

数据操作语言(DML),例如:INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。

数据查询语言(DQL),例如:SELECT语句。(一般不会单独归于一类,因为只有一个语句)。
※ 数据控制语言(DCL),例如:GRANT、REVOKE等语句。
※ 事务控制语句(TCL),例如:COMMIT、ROLLBACK等语句

 mysql> create temporary table
临时表名 select firstname, lastname from 表名;

 

分组查询 group by
         group by
              select子句中的列名必须为分组列或列函数
                  select 后面的所有列中,没有使用聚合函数的列,必须出现在
group by后面
         select 部门,avg(工资) from 员工表 group by 部门;
每个部门平均工资
           SELECT DEPT, MAX(SALARY) AS MAXIMUM FROM STAFF GROUP BY
DEPT;
每个部门最高工资
           select 部门,count(*) from 员工表 group by 部门;
每个部门人数

4、显示当前时间
mysql>select now();

3.查看表
3.1表
mysql>show tables;
3.2表结构
mysql> describe 表名;
也可以
mysql> show columns in 表名;

insert
语句插入几个字段数据:
   insert 表名(‘字段2’ ,
‘字段3’ )  values(‘字段2值’ , ‘字段3值’ );**

       **$  以什么结尾
                      *select
from yuangong where 字段名  regexp ‘b$’;
      
.   匹配任意个字符
                     
select * from yuangong where 字段名 regexp
‘b.’; 
查询以b开头的
       [0~9]  匹配所有数字
                     
select * from
yuangong where 字段名 regexp ‘1[1-2]’; 
查询第一个数字为1 
第二个数字为1到2
      [a~z] 匹配所有字幕
**
                      select *
from yuangong where 字段名 regexp ‘1[a-e]’;**查第一个为1
第二个数字为a到e的字符串

相关文章

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注